位置: 编程技术 - 正文
推荐整理分享MySQL优化之使用连接(join)代替子查询(mysql优化的几种方法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql优化步骤,mysql优化总结,mysql 优化口诀,mysql 优化口诀,mysql优化总结,mysql语句如何优化,mysql语句如何优化,mysql优化十大技巧,内容如对您有帮助,希望把文章链接给更多的朋友!
使用连接(JOIN)来代替子查询(Sub-Queries)
MySQL从4.1开始支持SQL的子查询。这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。例如,我们要将客户基本信息表中没有任何订单的客户删除掉,就可以利用子查询先从销售信息表中将所有发出订单的客户ID取出来,然后将结果传递给主查询,如下所示:
使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或者表锁死,并且写起来也很容易。但是,有些情况下,子查询可以被更有效率的连接(JOIN).. 替代。例如,假设我们要将所有没有订单记录的用户取出来,可以用下面这个查询完成:
如果使用连接(JOIN).. 来完成这个查询工作,速度将会快很多。尤其是当salesinfo表中对CustomerID建有索引的话,性能将会更好,查询如下:
连接(JOIN).. 之所以更有效率一些,是因为 MySQL不需要在内存中创建临时表来完成这个逻辑上的需要两个步骤的查询工作
总结
本文关于MySQL优化之使用连接(join)代替子查询的内容就到这里,仅供参考。如有不足之处请指出。欢迎大家交流讨论。感谢朋友们对本站的支持。
Mysql主从同步Last_IO_Errno:错误解决方法 Mysql主从同步的Last_IO_Errno:错误是什么原因呢,我们要如何来解决这个问题呢下面和小编一起来看看关于此问题的记录与解决办法。scriptec(2);/script从
解析MySQL中存储时间日期类型的选择问题 一般应用中,我们用timestamp,datetime,int类型来存储时间格式:int(对应javaBean中的Integer或int)1.占用4个字节2.建立索引之后,查询速度快3.条件范围搜索可
mysql利用参数sql_safe_updates限制update/delete范围详解 前言大家应该都知道,我们在mysql运维中出现过不少因为update/delete条件错误导致数据被误更新或者删除的case,为避免类似问题的发生,可以用sql_safe_upda
标签: mysql优化的几种方法
本文链接地址:https://www.jiuchutong.com/biancheng/348368.html 转载请保留说明!友情链接: 武汉网站建设