Может кто-нибудь сказать мне, если это имеет значение для Oracle 10g, использую ли я:
SELECT col1 FROM myTable WHERE col2 = 'someval' AND col3 = "someotherval"
или
SELECT col1 FROM
SELECT col1, col2, col3 FROM (
SELECT * FROM myTable
) WHERE col2 = 'someval'
) WHERE col3 = "someotherval"
Согласно плану объяснения, стоимость вышеуказанного одинакова, но я не знаю, когда речь идет об измерении производительности.
Справочная информация: в моем приложении у меня есть несколько базовых запросов, которые мне нужно изменить по произвольным критериям во время выполнения, чтобы предоставить наборы данных для разных клиентов. Условия WHERE и извлеченные столбцы являются специфическими для файла конфигурации клиента, и для некоторых конфигураций может потребоваться поиск в col2, в то время как для других - в col5 и так далее. Кроме того, пользователи могут добавлять дополнительные критерии и столбцы поверх конфигурации клиента. Я думал об использовании набора декораторов для достижения этой цели, поэтому, если вышеописанное одинаково с точки зрения производительности, я мог бы четко разделить все три части запроса.
Это Oracle 10g. В таблице несколько сотен тысяч строк (на самом деле это View).
Спасибо за любые предложения.