SQL性能优化的几个小技巧,果断收藏!

2023-05-31 0 484

1、先介绍MySQL的继续执行操作过程

介绍了MySQL的继续执行操作过程,我们才知道如何展开sql强化。

应用程序推送一条查阅句子到伺服器;伺服器先查阅内存,如果投弹内存,则立即回到储存在内存中的统计数据;未投弹内存后,MySQL通过URL将SQL句子展开导出,并聚合两颗相关联的导出树,MySQL导出器将采用MySQL句法展开校正和导出。例如,校正与否采用了严重错误的URL,或者URL的采用与否恰当;后处理是依照一些MySQL准则检查和导出树与否合理,比如尖萼和列与否存在,还会导出英文名字和别称,然后后CPU会校正职权;依照继续执行计划查阅继续执行发动机,初始化APIUSB初始化储存发动机来查阅统计数据;将结果回到应用程序,并展开内存;

SQL性能优化的几个小技巧,果断收藏!

2、资料库常用规范化

大部份资料库第一类中文名称要采用大写字母他用换行拆分;大部份资料库第一类中文名称明令禁止采用mysql留存URL;资料库第一类的重新命名要能努力做到见名识意,并且最后千万别超过32位数;临时库表要以tmp为后缀并以年份为后缀,存储表要以bak为后缀并以年份(时间戳)为后缀;大部份储存完全相同统计数据的入选为和列类型要完全一致;

3、大部份表要采用Innodb储存发动机

没有严格要求(即Innodb难以满足的功能如:列储存,储存空间统计数据等)的情况下,大部份表要采用Innodb储存发动机(mysql5.5之前预设采用Myisam,5.6以后预设的为Innodb)。

Innodb 全力支持外交事务,全力支持行级锁,更快的于贵君,高mammalian下操控性更快。

4、每个Innodb表要有位换行符

Innodb是一类检索组织机构表:统计数据的储存的方法论次序和检索的次序是完全相同的。每一表都可以有数个检索,但是表的储存次序只能有一类。

Innodb是按照换行符检索的次序来组织机构表的

千万别使用预览频密的列做为换行符,不适用于卡代纳换行符;千万别采用UUID、MD5、HASH、数组列做为换行符(难以保证统计数据的次序增长);换行符建议采用自增ID值;

5、资料库和表的字符集统一采用UTF8

兼容性更快,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集展开比较前需要展开转换会造成检索失效,如果资料库中有储存emoji表情的需要,字符集需要采用utf8mb4字符集。

6、查阅SQL尽量千万别采用select *,而是具体字段

select *的弊端:

增加很多不必要的消耗,比如CPU、IO、内存、网络带宽;增加了采用覆盖检索的可能性;增加了回表的可能性;当表结构发生变化时,前端也需要更改;查阅效率低;

的弊端:

SQL性能优化的几个小技巧,果断收藏!

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务