专栏首页Linyb极客之路关于MySQL schema调优/优化的 23个建议

关于MySQL schema调优/优化的 23个建议

mysql schema优化建议

1、保证你的数据库的整洁性。

2、归档老数据

删除查询中检索或返回的多余的行。

3、在数据上加上索引

加完索引一定要看下执行计划

4、不要过度使用索引,评估你的查询

因为增删改每次都需要维护索引。

5、压缩 text 和 blob 数据类型

主要是为了节省空间,减少从磁盘读数据

6、UTF 8 和 UTF16 比 latin1 慢

7、有节制的使用触发器

尽可能放在业务层面实现。

8、保持数据最小量的冗余 — 不要复制没必要的数据

9、使用链接表,而不是扩展行

10、注意你的数据类型,尽可能的使用最小的

主要是为了节省空间,前面应该是有介绍了根据生产环境的数据去评估数据类型长度。

11、如果其他数据需要经常需要查询,而 blob/text 不需要,则将 blob/text 数据域其他数据分离

12、经常检查和优化表

命令是:optimize table XXX;

13、经常做重写 InnoDB 表的优化

实际上就是alter table xx engine=innodb;

13、有时,增加列时,先删除索引,之后在加上索引会更快

建议DDL操作用PT工具去做。

15、为不同的需求选择不同的存储引擎

比较推荐用innodb引擎

16、日志表或审计表使用ARCHIVE存储引擎 — 写的效率更高

建议单独规划一个库来做。

17、将 session 数据存储在 memcache 中,而不是 MySQL 中

memcache 可以设置自动过期,防止MySQL对临时数据高成本的读写操作

18、如果字符串的长度是可变的,则使用VARCHAR代替CHAR

主要是节约空间,因为CHAR是固定长度,而VARCHAR不是(utf8 不受这个影响)

19、逐步对 schema 做修改

永远保持对数据库的敬畏,因为你不知道一个小的变化将会产生怎样巨大的影响

20、在开发环境测试所有 schema 变动,而不是在生产环境的镜像上去做

DDL操作一定要慎重

21、不要随意改变你的配置文件,这可能产生非常大的影响

修改配置文件都需要在测试环境验证后再上生产

22、有时候,少量的配置会更好

增加参数需要对该参数所带来的后果有一定的了解。

23、质疑使用通用的MySQL配置文件

配置最好都自定义。

本文分享自微信公众号 - Linyb极客之路(gh_c420b2cf6b47),作者:波波说运维

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-03

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Mysql高性能优化规范建议

    没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,5...

    lyb-geek
  • 分布式之闲侃前后端分离的必要性

    由于近期前端抽不出资源,博主最近接手一个前端项目的代码维护工作。拿到手一看,一脸懵逼,和博主当年所学的jsp开发方式、利用ajax来请求数据的单页面开发方式完全...

    lyb-geek
  • mysql基本知识点梳理和查询优化

    本文主要总结了工作中一些常用的操作及不合理的操作,在对慢查询进行优化时收集的一些有用的资料和信息,本文适合有MySQL基础的开发人员。

    lyb-geek
  • DBA 14条职业选择路线,你适合哪种?

    以下是本人参加5.25日ACMUG沙龙(北京站)活动上的分享,增加了对部分内容的解读。希望对广大DBA,在职业规划、选择上能起到一些参考意义。

    数据和云
  • 计算A+B

    代码很冗余 时间限制:1秒空间限制:32768K热度指数:347 **算法知识视频讲解 题目描述 给定两个整数A和B,其表示形式是:从个位开始,每三位数用...

    张俊怡
  • DBA职业发展之路

    以下是本人参加5.25日ACMUG沙龙(北京站)活动上的分享,增加了对部分内容的解读。希望对广大DBA,在职业规划、选择上能起到一些参考意义。

    用户5548425
  • 30多岁的中年DBA,出路在哪?

    点击上方蓝字关注我们吧 ? “说到工作被技术替代,可能更多的人想到的是,那些生产线上的工人,怎么都不会想到程序员。但企业一旦上了云,不管是亚马逊云、阿里云还是...

    腾讯云数据库 TencentDB
  • 如何在4周内构建数据仓库,第2部分

    我已经谈到了构建属于你自己的数据仓库需要采取的前两个步骤(请参阅:如何在4周内构建数据仓库,第1部分)。选择架构和DBMS是需要完成的第一件事情。到目前为止,我...

    HesionBlack
  • 二叉树的深度

    输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

    用户3003813
  • Golang开源 - go-axios (HTTP Client) 入门

    日常开发中,各服务主要都是REST的形式提供接口服务,因此HTTP Client则是开发中的重中之重。 golang 中自带的HTTP Client已经能满足各...

    猿哥

扫码关注云+社区

领取腾讯云代金券