微前端架构如何改变企业的开发模式与效率提升
924
2022-10-10
mysql8.0 之 sql 优化《one》 之 select 优化 介绍 join 分析 总览总结
介绍
用select 查询操作调整语句是第一重要的,比如动态网页的急速响应,或巨大数据的快速产生报告,都需要用到sql语句。此外和select 相关的 create insert delete 的语句也是很重要的优化的地方。NDB Cluster 集群 支持链接下推优化,完整的将数据发送到NDB Cluster 数据节点 并且在分布式的 NDB Cluster 中并行执行也很重要。
select 优化 分类
where 字句优化范围优化索引合并优化发动机状态下推优化指数条件下推优化嵌套循环链接算法嵌套链接优化外链接优化外链接简化多范围读取优化块嵌套循环和批量秘钥访问链接条件过滤is null 优化按优化顺序group by 优化distinct 优化函数调用优化窗口函数调用优化行构造函数优化行构造函数表达式优化避免全表扫描
优化考虑因素:
1,.添加索引 在 where 子句使用的列上 设置索引,可以加快评估过滤和结果的最终检索2.为了避免磁盘空间浪费,可以尝试构建一小组索引,以加快应用程序的相关查询3.对应不同的查询 选择对应的 链接 和 外键等功能。使用 explain 语句实现对列的索引查询4.使用函数的方式执行 根据查询的机构为结果数据做操作测试等 会很大提高速度5.减少全表扫描 尤其是大表的全表扫描6.通过 analyze table 定期统计信息 保持最新 这种优化有助于项目总执行计划的资料信息7.正确的使用 InnoDB 和 MyISAM 存储引擎 来实现高性能的查询8.使用InnoDB 实现单查询事物9.避免程序难理解的转换查询尤其是优化程序自动执行的一些语句10.如果无法解决基本的性能问题可以阅读官方的explain相关的文档11.调整 mysql 缓存内存大小和先关属性,通过使用 InnoDB 缓存池, MyISAM 秘钥缓存 和 mysql 查询缓存,来实现重复熟读更快,因为除第一次以外的查询走的都是 内存。12.对于高速内存的数据,也可以进一步优化,而且不会导致性能大幅度下降的情况。13.处理锁定问题,比如同事访问表的其他回话印象。
原 mysql8.0 之 索引 优化《一》 之 介绍 和如何使用 总览 总结
原 mysql8.0 之 sql 优化《六》 之 优化示例 总览 总结
原 mysql8.0 之 sql 优化《三B》 之 优化范围查询 总览 总结
原 mysql8.0 之 sql 优化《三A》 之 优化子查询,派生表,查看引用和公用表表达式 总览 总结
原 mysql8.0 之 sql 优化《三》 之 优化数据更新 insert delete update 总览总结
原 mysql8.0 之 sql 优化《二》 之 select 优化 where 字句优化 总览总结
原 mysql8.0 之 sql 优化《一》 之 select 优化 介绍 join 分析 总览总结
文章持续更新,转发标记出处方便更新!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~