美文网首页MySQL学习笔记
Day2:MySQL重构查询

Day2:MySQL重构查询

作者: 蚂蚁窝大梦想 | 来源:发表于2018-07-15 12:43 被阅读15次

写在前面:

   在优化问题查询上,目的是找到一个最优获取查询结果方法。方案如下:查询转化为另一种写法;修改应用程序代码。

复杂查询OR多个简单查询

复杂查询:分组查询GROUP BY、多表查询JOIN和合并查询UNION

MySQL内部每秒可扫描内存中百万行数据,相比,MySQL响应数据到客户端就慢很多。在其他条件都相同情况,尽可能少的查询是更好的。有些前提下,大查询分解为小查询是很有必要的。具体情况,需要认真衡量。

切分查询

大查询“分而治之”,大查询分割为小查询,小查询值完成大查询一小部分。

删除查询案例:

DELETE FROM messages WHERE created < DATE_SUB(NOW(),INTERVAL 3 MONTH);

rows_affected = 0  
do{  
    rows_affected = do_query("DELETE FROM messages WHERE created < DATE_SUB(NOW(),INTERVAL 3 MONTH) LIMIT 10000")  
}while rows_affected > 0  

分解关联查询

关联查询分解:对每一个表进行单标查询,结果在程序中关联。

优势:

  • 缓存更高效,重复查询缓存结果。
  • 减少锁的竞争。
  • 查询本身效率提升,如IN()方式代替关联查询,即顺序查询代替随机查询。
  • 减少冗余查询。
  • 哈希关联,应用层面关联,类似哈希关联。

相关文章

  • Day2:MySQL重构查询

    写在前面:在优化问题查询上,目的是找到一个最优获取查询结果方法。方案如下:查询转化为另一种写法;修改应用程序代码。...

  • 2018-03-20

    MYSQL查询语句 MYSQL复杂操作语句 MYSQL多表查询方法 函数部分

  • 高性能的索引策略

    MySQL查询基础-查询执行过程 MySQL聚簇索引 MySQL覆盖索引 MySQL索引扫描排序 MySQL冗余和...

  • MySQL学习——查询缓存

    MySQL查询缓存简介 MySQL查询缓存是MySQL将查询返回的完整结果保存在缓存中。当查询命中该缓存,MySQ...

  • Mysql 慢查询日志

    Mysql 慢查询日志 慢查询日志 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中...

  • mysql 查询

    mysql的查询、子查询及连接查询 一、mysql查询的五种子句 where(条件查询)、having(筛选)、g...

  • MySQL 索引及查询优化总结-2018-03-20

    MySQL 索引及查询优化总结 文章《MySQL查询分析》讲述了使用MySQL慢查询和explain命令来定位my...

  • SQL查询近期数据

    mysql查询时间的数据: 解释: 1.(mysql查询今天的数据) 2.(mysql查询昨天的数据) 3.(以当...

  • mysql json 查询

    mysql json 查询 MySQL 5.7新增对JSON支持 1. 普通 json 查询 数据 查询语句 数...

  • 《高性能mysql》笔记-查询优化

    EXPLAIN 查询语句 重构查询的方式 1.多个简单查询还是单个复杂查询 2.切分查询 3.分解关联查询 查询执...

网友评论

    本文标题:Day2:MySQL重构查询

    本文链接:https://www.haomeiwen.com/subject/xwzupftx.html