не используется индекс - Mailing list pgsql-ru-general

From Dmitry E. Oboukhov
Subject не используется индекс
Date
Msg-id 20121228184402.GD23376@vdsl.uvw.ru
Whole thread Raw
Responses Re: не используется индекс  ("Dmitry E. Oboukhov" <unera@debian.org>)
List pgsql-ru-general
> EXPLAIN ANALYZE select * FROM orders_drivers od JOIN drivers d ON d.id = od.did WHERE sid = 2;
                                                               QUERY PLAN
                 

-----------------------------------------------------------------------------------------------------------------------------------------
 Hash Join  (cost=808.82..144710.55 rows=486762 width=169) (actual time=0.276..2673.383 rows=667453 loops=1)
   Hash Cond: (od.did = d.id)
   ->  Seq Scan on orders_drivers od  (cost=0.00..100792.89 rows=11365887 width=30) (actual time=0.015..1149.398
rows=11333318loops=1) 
   ->  Hash  (cost=807.91..807.91 rows=260 width=139) (actual time=0.248..0.248 rows=260 loops=1)
         Buckets: 1024  Batches: 1  Memory Usage: 33kB
         ->  Bitmap Heap Scan on drivers d  (cost=93.12..807.91 rows=260 width=139) (actual time=0.057..0.189 rows=260
loops=1)
               Recheck Cond: (sid = 2)
               ->  Bitmap Index Scan on drivers_sid_idx  (cost=0.00..93.05 rows=260 width=0) (actual time=0.044..0.044
rows=301loops=1) 
                     Index Cond: (sid = 2)
 Total runtime: 2704.437 ms
(10 строк)

\d orders_drivers

 Колонка |     Тип      |                        Модификаторы
---------+--------------+-------------------------------------------------------------
 id      | integer      | NOT NULL DEFAULT nextval('orders_drivers_id_seq'::regclass)
 oid     | integer      |
 did     | integer      | NOT NULL
 dist    | numeric(8,3) |
 time    | integer      |
 tid     | integer      | NOT NULL
 status  | order_status | NOT NULL DEFAULT 'request'::order_status
Индексы:
    "orders_drivers_pkey" PRIMARY KEY, btree (id)
    "orders_drivers_oid_did_ukey" UNIQUE, btree (oid, did)
    "orders_drivers_did_key" btree (did)
    "orders_drivers_status_idx" btree (status)


\d drivers
> \d drivers
                       Таблица "public.drivers"
    Колонка    |             Тип             |      Модификаторы
---------------+-----------------------------+------------------------
 id            | integer                     | NOT NULL
...
 sid           | integer                     | NOT NULL
...
Индексы:
    "drivers_pkey" PRIMARY KEY, btree (id)
    "drivers_auto_enabled_key" btree (auto_enabled) WHERE auto_enabled IS NOT NULL
    "drivers_auto_order_key" btree (auto_order)
    "drivers_is_bot_key" btree (is_bot) WHERE bot_latitude IS NOT NULL AND bot_longitude IS NOT NULL
    "drivers_lp_time_key" btree (lp_time) WHERE lp_time IS NOT NULL
    "drivers_removed_key" btree (removed)
    "drivers_sid_idx" btree (sid)


почему по orders_drivers делается полный перебор?

--

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment

pgsql-ru-general by date:

Previous
From: Alexey Klyukin
Date:
Subject: Re: [pgsql-ru-general] [pgsql-ru-general] Дедлоки и FOREIGN (pg9.1.2)
Next
From: "Dmitry E. Oboukhov"
Date:
Subject: Re: не используется индекс