От клиента я получаю запросы SQL, которые содержат все виды избыточных вложенных элементов, сгенерированных компоновщиком в MS Access.Я конвертирую SQL в Postgres, и он работает - но я знаю, что он безнадежно неэффективен.Итак, я приступил к оптимизации запроса и произвел итеративные улучшения - и чтобы определить, является ли каждый новый запрос функционально идентичным, я запускаю его и проверяю, что он выдает одинаковый набор результатов.% эффективен при определении того, совпадает ли один запрос с другим - он опирается на данные, исследуемые в каждом отдельном случае.Коллега предлагает мне выполнить план объяснения для каждого запроса, но признает, что внутренний оптимизатор БД может использовать другую стратегию запросов, даже если новый запрос функционально идентичен (и это хорошо - новая стратегия может быть намного более эффективной).
У меня есть хотя бы средний уровень владения SQL, но я не уверен в оптимизаторе запросов.Таким образом, я был бы заинтересован в любом наборе инструментов для Postgres, который может со 100% уверенностью сказать, что два запроса делают одно и то же.Еще лучше, если он сам может предложить оптимизацию!Я верю, что TOAD может сделать это, но я не верю, что это доступно для Postgres.Я на Mac OS X.