美文网首页程序员
MySQL数据库优化总结

MySQL数据库优化总结

作者: 林万程 | 来源:发表于2017-12-23 22:06 被阅读190次

《高性能MySQL》指导

性能优化
1.表优化
2.索引优化
3.查询优化
4.服务器优化
5.系统与硬件优化

稳定优化
1.复制
2.可拓展
3.高可用,避免单点失效等
4.云
5.备份恢复

1.表优化
选择合适的数据类型
减少列和关联
反范式冗余
缓存表、计数器表

2.索引优化
索引独立放在符号的一侧
前缀/翻转后缀索引
合适的多列索引顺序
聚簇索引(索引组织表)
覆盖需要返回字段索引
索引排序
压缩
移除冗余和重复索引
(唯一和主键都是索引)
索引减少锁定

3.查询优化
减少访问和返回
多个简单查询以便缓存和短锁
切分减少锁持续
最值加 LIMIT 1
没有 WHERE 的 COUNT() 是直接获得
用 COUNT(
) - 少数行查询
使用 EXPLAIN 估算
去除 DISTINCT 以避免排序
确保 ON 或 USING 子句上有索引
确保汇总排序只涉及一个表才有可能用索引
MySQL5.5 使用关联查询代替子查询
先LIMIT再关联
返回多一条数据如果没有就不下一页
UNION ALL 以避免自动 DISTINCT

其他指导

or 用 in 代替,或者 UNION ALL 代替后在应用层处理重复数据
GROUP BY确认不需要排序时用ORDER BY NULL 避免多余排序
导入数据前set unique_checks=0导好设1
insert delayed异步合并写入,但宕机丢数据

高速查询
userServerPrepStmts=true
cachePrepStmts=true

高速插入(同时用手动提交事务)
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true

join 空分开

select * from a
join b
  on a.k is not null
  and a.k = b.k
union all
select * from a
  where a.k is null

相关文章

  • sql优化

    参考:数据库SQL优化大总结之 百万级数据库优化方案如何优化MySQL千万级大表,我写了6000字的解读 --很棒...

  • MySQL数据库与SQL优化

    一、MySQL数据库 - SQL优化 MySQL DBMS - MySQL Database Management...

  • mysql优化

    mac下开启数据库:每次启动都是找了半天,这次记录下:启动mysql数据库mycat学习分享mycat学习总结优化思路

  • MySQL-性能优化-优化设计和设计原则

    MySQL-性能优化-优化设计和设计原则 MySQL性能优化目的 如何合理的设计数据库? 什么样的数据库设计才能给...

  • 【原创】MySQL优化建议

    仅个人总结,欢迎一起交流! MySQL优化的本质: 1. 结合MySQL数据库的主要特性(数据存储与数据查询),使...

  • 17.MySQL优化

    《高性能MySQL》——这本书都有的 “字段”优化总结 “索引”优化总结 索引的优化 “查询SQL”优化总结 “引...

  • MySQL5:性能优化

    性能优化 优化MySQL数据库是数据库管理员和数据库开发人员的必备技能。MySQL优化,一方面是找出系统的瓶颈,提...

  • SQL审核优化建议

    SQL审核优化建议 数据库类型 MySQL:RDS MySQL、PolarDB MySQL、MariaDB、Pol...

  • 数据库存储原理特性索引优化

    说一下mysql数据库存储的原理? 事务的特性? 数据库索引 数据库怎么优化查询效率? 数据库优化方案 优化索引、...

  • mysql程序

    MySQL性能优化方案总结

网友评论

    本文标题:MySQL数据库优化总结

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