Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9e90344

Browse files
committed
alter index test
1 parent12cafba commit9e90344

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
createtabletmptab (pkintegerprimary key, skinteger);
2+
3+
-- insert ebnough records to make psotgresql optimizer use indexes
4+
insert into tmptabvalues (generate_series(1,10000), generate_series(1,10000));
5+
6+
vacuum analyze;
7+
8+
-- create normal index
9+
createindexidxon tmptab(sk);
10+
11+
-- just normal index search
12+
select*from tmptabwhere sk=100;
13+
14+
-- make index partial
15+
alterindex idxwhere pk<1000;
16+
17+
-- select using exact partial index range
18+
select*from tmptabwhere sk=100and pk<1000;
19+
explainselect*from tmptabwhere sk=100and pk<1000;
20+
21+
-- select using subset of partial index range
22+
select*from tmptabwhere sk=100and pk<200;
23+
explainselect*from tmptabwhere sk=100and pk<200;
24+
25+
-- select outside partial index range
26+
select*from tmptabwhere sk=100and pk>1000;
27+
explainselect*from tmptabwhere sk=100and pk>1000;
28+
29+
-- select without partial index range
30+
select*from tmptabwhere sk=100;
31+
explainselect*from tmptabwhere sk=100;
32+
33+
-- extend partial index range
34+
alterindex idxwhere pk<10000;
35+
36+
-- select using exact partial index range
37+
select*from tmptabwhere sk=1000and pk<10000;
38+
explainselect*from tmptabwhere sk=1000and pk<10000;
39+
40+
-- calculating aggregate within exact partial index range
41+
selectcount(*)from tmptabwhere sk<1000and pk<10000;
42+
explainselectcount(*)from tmptabwhere sk<1000and pk<10000;
43+
44+
-- reducing partial idex predicate
45+
alterindex idxwhere pk<9000;
46+
47+
-- select using new exact partial index range and key value belonging to old range
48+
select*from tmptabwhere sk=9000and pk<9000;
49+
explainselect*from tmptabwhere sk=9000and pk<9000;
50+
51+
-- select using exact partial index range
52+
select*from tmptabwhere sk=900and pk<9000;
53+
explainselect*from tmptabwhere sk=900and pk<9000;
54+
55+
droptable tmptab;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp