On Mon, Mar 17, 2014 at 7:09 PM, Jim Nasby <j...@nasby.net> wrote:

> On 3/17/14, 2:16 PM, Merlin Moncure wrote:
>
>> On Mon, Mar 17, 2014 at 1:45 PM, Pavel Stehule<pavel.steh...@gmail.com>
>>  wrote:
>>
>>> >I don't believe so SELECTIVITY can work well too. Slow queries are
>>> usually
>>> >related to some strange points in data. I am thinking so well concept
>>> should
>>> >be based on validity of estimations. Some plans are based on totally
>>> wrong
>>> >estimation, but should be fast due less sensitivity to bad estimations.
>>> So
>>> >well concept is penalization some risk plans - or use brute force - like
>>> >COLUMN store engine does. Their plan is usually simply and tolerant to
>>> bad
>>> >estimations.
>>>
>> Disagree.  There is a special case of slow query where problem is not
>> with the data but with the expression over the data; something in the
>> query defeats sampled selectivity.  Common culprits are:
>>
>> *) CASE expressions
>> *) COALESCE
>> *) casts
>> *) simple tranformational expressions
>> *) predicate string concatenation
>>
>
> *) time/date functions, ie WHERE date_trunc( 'quarter', some_timestamp ) =
> '2014-1-1'
>
> Though, in this case it's probably much better to teach the parser how to
> turn that into a range expression.



Maybe, maybe not.

An index over the truncated time can potentially be much more efficient.

Reply via email to