javasqlin查詢
發布時間: 2025-01-18 00:57:02
sqlin使用方法:
1.in後條件不多,可以考慮主表建索引,或用unionall代替
2.in和exists的區別:如果子查詢得出的結果集記錄較少,主查詢中的表較大且又有索引時應該用in,反之如果外層的主查詢記錄較少,子查詢中的表大,又有索引時使用exists。其實我們區分in和exists主要是造成了驅動順序的改變(這是性能變化的關鍵),如果是exists,那麼以外層表為驅動表,先被訪問,如果是IN,那麼先執行子查詢,所以我們會以驅動表的快速返回為目標,那麼就會考慮到索引及結果集的關系了,另外IN時不對NULL進行處理。
3.如果in後接幾百幾千或幾萬的條件,可把in里的條件錄入臨時表,給臨時表加索引,用表連接代替。
熱點內容