|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Alexander Bodnar 2:5020/400 19 Feb 2001 14:00:22 To : All Subject : Проблема с индексацией в PostgreSQL -------------------------------------------------------------------------------- Привет всем. Проблема в следующем. Есть таблица: test=# SELECT * FROM t1 LIMIT 1; f1 | f2 | f3 | f4 | f5 | f6 ----+----+----+----+----+---------- 1 | 1 | 1 | 1 | 1 | 1234weer (1 row) поля f1, f2, f3, f4, f5 типа int4; поле f6 типа varchar(300); в таблице 2000001 записей. test=# SELECT count(*) FROM t1; count --------- 2000001 (1 row) создаю индекс; test=# CREATE INDEX t1_f1 ON t1 USING btree (f1); CREATE затем выполняю запрос: test=# SELECT * FROM t1 WHERE f1=100; f1 | f2 | f3 | f4 | f5 | f6 -----+-----+-----+-----+-----+---------- 100 | 100 | 100 | 100 | 100 | 1234weer (1 row) и данный запрос выполняется очень долго. перечитывается вся таблица, а она не маленькая. смотрю план выполнения и в результате: test=# EXPLAIN SELECT * FROM t1 WHERE f1=100; NOTICE: QUERY PLAN: Seq Scan on t1 (cost=0.00..41667.01 rows=20000 width=32) EXPLAIN При данной выборке идет полное сканирование все таблицы. Почему не используется индекс? Может я что-то не то сделал? --- ifmail v.2.15dev5 * Origin: Unknown (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/9138133e9432.html, оценка из 5, голосов 10
|