为什么我的MySQL查询
SELECT ... WHERE `field_name`="some";
处理速度更快
SELECT ... WHERE `field_name` IN( "some" );
'IN'使用二进制搜索,而简单field_name
=“some”使用简单的逐行搜索。我是对的,不是吗?
PS:它在表中用<进行了测试。 100行。也许IN花费更多时间来“起飞”,但在大桌上工作得更快?
关联的quastion, - 二元搜索是应用于IN值,还是应用于表中的行,还是maby到两者?
答案 0 :(得分:0)
MySQL中的IN语句假设一组可能的值将与表/结果集中的每一行进行比较。虽然WHERE子句使用单值比较,但在大多数情况下使用索引(如果可用)和mysql正在优化查询。