網上有很多人說in不走索引,事實上我經過執行計劃自己測試發現,in明明就是走索引的。看來網上也不全可信啊。
後來又查了以下,發現 MySQL 4.1 以上版本的 IN 是走索引的, 但4.0及其以下版本是不走索引的。
原來是這樣,4.0以下確實是不走索引的,難怪之前有人說。
可以用exist代替in,exit的執行效率要高。
in是子查詢。而exist是通過id關聯,組成一張虛表,操作的是同一張表。
網上有很多人說in不走索引,事實上我經過執行計劃自己測試發現,in明明就是走索引的。看來網上也不全可信啊。
後來又查了以下,發現 MySQL 4.1 以上版本的 IN 是走索引的, 但4.0及其以下版本是不走索引的。
原來是這樣,4.0以下確實是不走索引的,難怪之前有人說。
可以用exist代替in,exit的執行效率要高。
in是子查詢。而exist是通過id關聯,組成一張虛表,操作的是同一張表。