任何人都可以告訴我,如果它使甲骨文的差異10g的我是否使用:子選擇在Oracle查詢
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"
據解釋計劃,對於上述成本相同,但是在性能測量方面,Im是空白的。
背景是:在我的應用程序中,我有幾個基本查詢,我需要在運行時通過任意標準修改以提供不同客戶端的數據集。 WHERE條件和提取列是特定於客戶端配置文件的,某些配置可能需要查看col2,而其他配置文件則查看col5等等。另外,用戶可以在客戶端配置上添加額外的標準和列。我正在考慮使用一組裝飾器來實現這一點,所以如果上述方法具有相同的性能,我可以保持所有三個查詢部分完全分離。
這是一個Oracle 10g。表中有幾十萬行(實際上它是一個View)。
感謝您的任何建議。
我同意湯姆。任何一個都應該沒問題,我不會擔心優化問題,除非在數據量很大的情況下,使用一個性能比另一個性能明顯下降。 – ChadNC 2009-11-11 16:28:41
+1。 :) – Guru 2009-11-12 14:51:45