6.3.1 一个复杂查询还是多个简单查询
有些时候将一个大查询分解为多个小查询是很有必要的.
6.3.2 切分查询
删除旧数据就是一个很好的例子.
- 如果用一个大的语句一次性完成的话, 则可能需要锁住很多数据, 占满整个事务日志, 耗尽系统资源, 阻塞很多小的但重要的查询
- 可以减少 MySQL 复制延迟
6.3.3 分解关联查询
在应用程序中进行关联:
分解关联查询的优势:
何时将关联放到应用程序中:
- 应用能够方便地缓存单个查询的结果
- 数据分布到不同的 MySQL 服务器上 (应该是指分库的场景)
- 能够使用
IN()
的方式代替关联查询 - 查询使用同一个数据表