Re: Materializing a sequential scan

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Materializing a sequential scan
Дата
Msg-id 12708.1130370782@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Materializing a sequential scan  ("Steinar H. Gunderson" <sgunderson@bigfoot.com>)
Ответы Re: Materializing a sequential scan
Список pgsql-performance
"Steinar H. Gunderson" <sgunderson@bigfoot.com> writes:
> On Wed, Oct 26, 2005 at 07:06:15PM -0400, Tom Lane wrote:
>> AFAICS, subplan_is_hashable() is testing the same conditions in 7.4 and
>> HEAD, so this isn't clear.  Want to step through it and see where it's
>> deciding not to hash?

> (gdb) print opid
> $3 = 2373

I don't think you're getting a correct reading for optup, but OID
2373 is timestamp = date:

regression=# select * from pg_operator where oid = 2373;
 oprname | oprnamespace | oprowner | oprkind | oprcanhash | oprleft | oprright | oprresult | oprcom | oprnegate |
oprlsortop| oprrsortop | oprltcmpop | oprgtcmpop |      oprcode      | oprrest |  oprjoin 

---------+--------------+----------+---------+------------+---------+----------+-----------+--------+-----------+------------+------------+------------+------------+-------------------+---------+-----------
 =       |           11 |       10 | b       | f          |    1114 |     1082 |        16 |   2347 |      2376 |
2062|       1095 |       2371 |       2375 | timestamp_eq_date | eqsel   | eqjoinsel 
(1 row)

which is marked not hashable, quite correctly since the input datatypes
aren't even the same.

My recollection is that there was no such operator in 7.4; probably in
7.4 the IN ended up using timestamp = timestamp which is hashable.

What's not clear though is why you're getting that operator --- aren't
both sides of the IN of type "date"?

            regards, tom lane

В списке pgsql-performance по дате отправления:

Предыдущее
От: Sidar López Cruz
Дата:
Сообщение: performance on query
Следующее
От: "Steinar H. Gunderson"
Дата:
Сообщение: Re: Materializing a sequential scan