mysql中in和or的区别是什么

这篇文章将为大家详细讲解有关mysql中in和or的区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

mysql in or的区别:

1、操作不同,一个是连接,一个是循环查询

in:in是把父查询表和子自查询表作hash连接。

or:or是对父查询表作loop循环,每次loop循环再对子查询表进行查询。

2、使用范围不同,一个适合子表数据比父表数据多的情况,一个适合子表数据比父表数据少的情况

in:in适合用于子查询表数据比父查询表数据多的情况。

or:or适合用于子查询表数据比父查询表数据少的情况。

3、执行效率不同,数据量增情况下,一个执行效率不会有太大下降,一个有明显下降

in:在没有索引的情况下,随着in后面的数据量越多,in的执行效率不会有太大的下降。

or:在没有索引的情况下,随着or后面的数据量越多,or的执行效率会有明显的下降。

关于mysql中in和or的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。