MySQL数据库优化总结《高性能MySQL》指导其他指导

《高性能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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

Oracle应用实战四——约束+Scott表结构

约束 在数据库开发中,约束是必不可少,使用约束可以更好的保证数据的完整性。 1 主键约束(掌握) 主键约束都是在id上使用,而且本身已经默认了内容不能为空,可...

3315
来自专栏battcn

MySQL - 常见的三种存储引擎

数据库存储引擎: 是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水...

801
来自专栏乐沙弥的世界

基于案例理解MySQL执行计划

版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。

1012
来自专栏python3

mysql-数据库的操作

nformation_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等

1092
来自专栏技术博文

SQL中的DML、DDL以及DCL

DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这...

2896
来自专栏ImportSource

锁系列-Mysql中的锁

在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。 目录: 1、行级锁、表级锁、页级锁 2、共享锁和排它...

37415
来自专栏PhpZendo

MySQL创建用户与授权

假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%',则在使用REVOK...

4731
来自专栏JavaQ

MySQL存储引擎InnoDB和MyISAM对比总结(更新)

本篇内容对MySQL两个主要存储引擎InnoDB和MyISAM进行对比总结。 InnoDB引擎 InnoDB是一个事务型的存储引擎,设计目标是处理大数量数据时提...

3738
来自专栏维C果糖

史上最简单的 MySQL 教程(二十九)「外键(下)」

外键:foreign key,外面的键,即不在自己表中的键。如果一张表中有一个非主键的字段指向另外一张表的主键,那么将该字段称之为外键。每张表中,可以有多个外键...

4234
来自专栏Java后端技术栈

MySQL存储引擎MyISAM与InnoDB区别总结整理

在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB。

3313

扫码关注云+社区

领取腾讯云代金券