”MySQL查询优化“学习总结

查询优化有几种方法,下面分别介绍。

切分查询

  • 一条大的语句(涉及很多行)一次会锁住很多数据(不利于高并发)。
  • 占满整个事务日志,耗尽系统资源、阻塞很多小的但很重要的查询。

分解关联查询

关联查询分解方法:对每一个表进行一次单表查询,然后将结果在应用程序中进行关联。这样做的好处有:

  • 让缓存效率更高,应用程序可以很方便地缓存单表查询的结果对象。
  • 将查询分解后,执行单个查询可以减少锁的竞争。
  • 在应用层做关联,可以更容易地对数据库进行拆分,更容易做到高性能和可拓展。
  • 查询本身的效率也可能提升。
  • 可以减少冗余记录的查询。在应用层做关联查询,意味着对于某条记录应用只需要查询一次。
  • 在应用层中做关联,相当于在应用中实现了查询数据的哈希关联,而不是使用MySQL的嵌套循环关联。从数据结构上优化了查询的时间复杂度。

通过重构查询——将关联查询放到应用程序中——将会更加高效。

MySQL客户端/服务器通信协议

MySQL客户端与服务器之间的通信协议是“半双工”的。

posted @ 2016-06-06 08:26  健康平安快乐  阅读(229)  评论(0编辑  收藏  举报