Re: bad plan
От | Mario Dankoor |
---|---|
Тема | Re: bad plan |
Дата | |
Msg-id | 4F7D90C0.3090800@gmail.com обсуждение исходный текст |
Ответ на | Re: bad plan (Julien Cigar <jcigar@ulb.ac.be>) |
Ответы |
Re: bad plan
|
Список | pgsql-sql |
Julien, I generally try avoid NOT predicates. If your geo_id is an integer, try geo_id > -1 or if it's a varchar geo_id > ''. The idea is that geo_id > 0 is false for null values. I don't think query optimizers are fond of NOT predicates. SELECT t_geo.frequence ,ST_SetSRID(gc.geom, 4326) as geom FROM ( SELECT geo_id ,count(*) AS frequence FROM hit.context_to_context_links WHERE geo_id> -1 AND taxon_id= ANY ( SELECT taxon_id FROM rab.ancestors WHERE ancestors.subphylum_id = 18830 ) GROUP BY geo_id )as t_geo JOIN hit.geo_candidates gc ON gc.id = t_geo.geo_id; On 2012-04-05 2:08 PM, Julien Cigar wrote: > SELECT > t_geo.frequence, ST_SetSRID(gc.geom, 4326) as geom > FROM ( > SELECT > geo_id , count(*) AS frequence > FROM > hit.context_to_context_links > WHERE > NOT geo_id IS NULL ANDtaxon_id= ANY ( > SELECT > taxon_id > FROM > rab.ancestors > WHERE > ancestors.subphylum_id = 18830 > ) GROUP BY geo_id > ) as t_geo > JOIN > hit.geo_candidates gc ON gc.id = t_geo.geo_id;
В списке pgsql-sql по дате отправления: