Re: Help optimize view
От | Relyea, Mike |
---|---|
Тема | Re: Help optimize view |
Дата | |
Msg-id | 1806D1F73FCB7F439F2C842EE0627B1806666079@USA0300MS01.na.xerox.net обсуждение исходный текст |
Ответ на | Re: Help optimize view ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>) |
Список | pgsql-performance |
> From: Kevin Grittner [mailto:Kevin.Grittner@wicourts.gov] > > First off, let's make sure we're optimizing the query you > really want to run. > AND binds tighter than OR, so as you have it written, it is > the same as: > > HAVING "PrintSamples"."MachineID" = 4741 > OR ( "PrintSamples"."MachineID" = 4745 > AND "AnalysisModules"."AnalysisModuleName" = 'NMF' > AND "ParameterNames"."ParameterName" = 'NMF' > AND "tblColors"."ColorID" <> 3 > AND "PrintSamples"."TestPatternName" LIKE 'IQAF-TP8%'; > ) > > I fear you may really want it evaluate to: > > HAVING ("PrintSamples"."MachineID" = 4741 OR > "PrintSamples"."MachineID" = 4745) > AND "AnalysisModules"."AnalysisModuleName" = 'NMF' > AND "ParameterNames"."ParameterName" = 'NMF' > AND "tblColors"."ColorID" <> 3 > AND "PrintSamples"."TestPatternName" LIKE 'IQAF-TP8%'; The query I really want to run is several times larger than this. I didn't think people would want to wade through pages and pages worth of SQL and then explain analyze results - especially when I'm fairly certain that optimizing this smaller part of the overall aggregate query would provide me the help I was looking for. You're right about what I really want the query to evaluate to. I'll give your suggestion a try. Thanks. Mike
В списке pgsql-performance по дате отправления: