the index on INTEGER field does not work (PG 7.1.2)
Bug: the index on INTEGER field does not work (PG 7.1.2).
Test 1:
1) create table test_int(id int primary key);
2) insert 10000 records in table test_int with perl program (values
1,2,3,...,10000).
3) 500 times execute query
SELECT * FROM test_int WHERE id = random number
(random number puts with perl program)
4) 500 queries executes for 30 seconds
Test 2:
1) create table test_int1(id int); (i.e. without primary key)
2) insert 10000 records in table test_int1 with perl program (values
1,2,3,...,10000).
3) 500 times execute query
SELECT * FROM test_int1 WHERE id = random number
(random number puts with perl program)
4) 500 queries executes for 30 seconds too :~-( ...
P.S. For TEXT field the same operations executes for 30 and 1 seconds
correspondingly.
Please see FAQ 4.9
http://postgresql.bteg.net/docs/faq-english.html#4.9
On Fri, 15 Jun 2001, Alexandr S. wrote:
Show quoted text
Bug: the index on INTEGER field does not work (PG 7.1.2).
Test 1:
1) create table test_int(id int primary key);
2) insert 10000 records in table test_int with perl program (values
1,2,3,...,10000).3) 500 times execute query
SELECT * FROM test_int WHERE id = random number
(random number puts with perl program)
4) 500 queries executes for 30 seconds
Test 2:
1) create table test_int1(id int); (i.e. without primary key)
2) insert 10000 records in table test_int1 with perl program (values
1,2,3,...,10000).3) 500 times execute query
SELECT * FROM test_int1 WHERE id = random number
(random number puts with perl program)
4) 500 queries executes for 30 seconds too :~-( ...
P.S. For TEXT field the same operations executes for 30 and 1 seconds
correspondingly.---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
Andrew Snow <andrew@modulus.org> writes:
Please see FAQ 4.9
While that's a good answer in general, the default statistics are set up
(with malice aforethought) to give index scans.
regression=# create table test_int(id int primary key);
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index 'test_int_pkey' for table 'test_int'
CREATE
regression=# explain SELECT * FROM test_int WHERE id = 33;
NOTICE: QUERY PLAN:
Index Scan using test_int_pkey on test_int (cost=0.00..8.14 rows=10 width=4)
EXPLAIN
So I'm not sure what's going on here. Alexandr, what do you get from
EXPLAIN for your queries?
regards, tom lane