cpu_tuple_cost

Поиск
Список
Период
Сортировка
Искать
От
Daniel Schuchardt
Тема
cpu_tuple_cost
Дата
Msg-id
d0s9o7$1da1$1@news.hub.org
Список
Дерево обсуждения
cpu_tuple_cost Daniel Schuchardt <daniel_schuchardt@web.de>
Re: cpu_tuple_cost Tom Lane <tgl@sss.pgh.pa.us>
Re: cpu_tuple_cost Daniel Schuchardt <daniel_schuchardt@web.de>
Re: cpu_tuple_cost "Greg Sabino Mullane" <greg@turnstep.com>
Re: cpu_tuple_cost Tom Lane <tgl@sss.pgh.pa.us>
Re: cpu_tuple_cost Manfred Koizar <mkoi-pg@aon.at>
Re: cpu_tuple_cost Josh Berkus <josh@agliodbs.com>
Re: Changing the random_page_cost default (was: cpu_tuple_cost) "Greg Sabino Mullane" <greg@turnstep.com>
Re: Changing the random_page_cost default (was: cpu_tuple_cost) Tom Lane <tgl@sss.pgh.pa.us>
Re: Changing the random_page_cost default (was: Mark Kirkwood <markir@paradise.net.nz>
Re: Changing the random_page_cost default (was: cpu_tuple_cost) "Greg Sabino Mullane" <greg@turnstep.com>
Re: Changing the random_page_cost default (was: cpu_tuple_cost) Jeff Hoffmann <jeff@propertykey.com>
Re: cpu_tuple_cost Bruce Momjian <pgman@candle.pha.pa.us>
Hi List,

i have a query plan who is bad with standard cpu_tuple_costs and good if 
I raise cpu_tuple_costs. Is it is a good practice to raise them if i 
want to force postgres to use indexes more often? Or is it is better to 
disable sequence scans?

CIMSOFT=# ANALYSE mitpln;
ANALYZE

CIMSOFT=# EXPLAIN ANALYSE SELECT * FROM mitpln WHERE 
date_to_yearmonth_dec(mpl_date)='20050';
                                                   QUERY PLAN

--------------------------------------------------------------------------------
  Seq Scan on mitpln  (cost=0.00..1411.85 rows=2050 width=69) (actual 
time=562.000..1203.000 rows=1269 loops=1)
    Filter: ((date_to_yearmonth_dec((mpl_date)::timestamp without time 
zone))::text = '20050'::text)
  Total runtime: 1203.000 ms
(3 rows)

CIMSOFT=# SET cpu_tuple_cost = 0.07;
SET
CIMSOFT=# EXPLAIN ANALYSE SELECT * FROM mitpln WHERE 
date_to_yearmonth_dec(mpl_date)='20050';
                                                               QUERY PLAN

--------------------------------------------------------------------------------
  Index Scan using mitpln_yearmonth_dec on mitpln  (cost=0.00..2962.86 
rows=2050width=69) (actual time=0.000..0.000 rows=1269 loops=1)
    Index Cond: ((date_to_yearmonth_dec((mpl_date)::timestamp without 
time zone))::text = '20050'::text)
  Total runtime: 16.000 ms
(3 rows)


CIMSOFT=# \d mitpln
                                        Table "public.mitpln"
     Column    |         Type          |                         Modifiers

--------------+-----------------------+-----------------------------------------
  mpl_id       | integer               | not null default 
nextval('public.mitpln_mpl_id_seq'::text)
  mpl_date     | date                  |
  mpl_minr     | integer               | not null
  mpl_tpl_name | character varying(20) |
  mpl_feiertag | character varying(50) |
  mpl_min      | real                  |
  mpl_saldo    | real                  |
  mpl_buch     | boolean               | not null default false
  mpl_absaldo  | real                  |
  mpl_vhz      | real                  |
  dbrid        | character varying     | default nextval('db_id_seq'::text)
Indexes:
     "mitpln_pkey" PRIMARY KEY, btree (mpl_id)
     "mitpln_idindex" UNIQUE, btree (dbrid)
     "xtt5126" UNIQUE, btree (mpl_date, mpl_minr)
     "mitpln_yearmonth_dec" btree 
(date_to_yearmonth_dec(mpl_date::timestamp with
out time zone))


CIMSOFT=# SELECT count(*) FROM mitpln;
  count
-------
  26128
(1 row)
В списке pgsql-performance по дате отправления
От: Daniel Schuchardt
Дата:
Сообщение: Re: cpu_tuple_cost
От: Michael McFarland
Дата:
FAQ