MySQL使用IN代替OR的緣由

對於許多數據庫服務器而言,IN()列表不過是多個OR語句的同義詞而已,由於IN和OR在邏輯上是等同的。不只是在MySQL數據庫服務器,對於許多其餘的數據庫服務器使用到IN查詢時,都是按照以下方式處理的: [1] 對IN列表中的數值進行排序。 [2] 對於查詢的匹配,每次使用二分查找去匹配IN列表的數值。 因此對於第[2]步,每次比較的算法複雜度大概爲O(log n)。相反,對於一樣邏輯的OR列表,
相關文章
相關標籤/搜索