Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Проблема с индексацией в PostgreSQL   Alexander Bodnar   19 Feb 2001 14:00:22 
Архивное /su.dbms.sql/9138133e9432.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional