我正在使用數據庫oracle 11g。 我的應用程序運行像在某些特定的情況下如果記錄超過100k,Oracle中的查詢不執行
Select distinct demo.table1.id, demo.table2.status
FROM demo.table1, demo.table2
WHERE demo.table1.id=demo.table2.id
AND ((demo.table2.userID = '1') or (demo.table2.userID='2'))
以下查詢它給了我正確的輸出,如果記錄數大約20-25K。 但是,如果記錄數超過50K,查詢不會返回任何內容並且應用程序掛起。
但是,如果我刪除'AND'條件;查詢給出我想要的輸出(即50K記錄)
我對MSSQL服務器2005運行相同的場景,所有上述指定的場景運行良好。即使對於100K記錄,應用程序也沒有掛起。
我不知道這裏出了什麼問題。是我的查詢還是我需要在oracle中進行一些配置更改?
請幫我這裏,因爲我是oracle數據庫的新手。
如果刪除AND條件,您將獲得更多記錄。 AND條件總是減少記錄數量。你確定? – knagaev
如果用戶標識符是「數字」列,則還應使用數字進行比較。 ''1'是一個字符串,'1'是一個數字。永遠不要把蘋果(字符串)與橘子(數字)比較 –
@knagaev:看到這個我太驚訝了。我做了很多次,並給出了相同的結果。 – user1597376