My sql 性能优化大全

3方面内容:查询优化、数据库结构优化、MySQL服务器优化

一、优化简介

优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如,通过优化文件系统,提高磁盘I\O的读写速度;通过优化操作系统调度策略,提高MySQL在高负荷情况下的负载能力;优化表结构、索引、查询语句等使查询响应更快。

1.1使用SHOW STATUS语句查询一些MySQL数据库的性能参数

SHOW STATUS LIKE 'value';

Slow_queries:慢查询的次数

SHOW STATUS LIKE 'Slow_queries';

二、优化查询

查询是数据库中最频繁的操作,提高查询速度可以有效地提高MySQL数据库的性能。

2.1分析查询语句

EXPLAIN [EXTENDED] SELECT select_options

通过对查询语句的分析,了解查询语句执行情况,找出查询语句执行的瓶颈,从而优化查询语句

2.2 索引对查询速度的影响

索引对查询的速度有着至关重要的影响。使用索引可以快速地定位表中的某条记录,从而提高数据库查询的速度、提高数据库的性能。

特殊情况:

(1)使用LIKE关键字:匹配字符串的第一个字符为“%”,索引不会起作用。

(2)使用多列索引:对于多列索引,只有查询条件中使用了这些字段中的第1个字段时索引才会被使用。

(3) 使用OR关键字:查询语句的查询条件中只有OR关键字,且OR前后的两个条件中的列都是索引时,查询中才使用索引。

2.3 优化子查询

使用连接(JOIN)查询来替代子查询。连接查询不需要建立临时表,其速度比子查询要快。

三、优化数据库结构

3.1 将字段很多的表分解成多个表

对于字段较多的表,如果有些字段的使用频率很低,可以将这些字段分离出来,形成新表。因为当一个表的数据量很大时,会由于使用频率低的字段的存在而变慢。

3.2 增加中间表

通过建立中间表,把需要经常联合查询的数据插入到中间表中,然后将原来的联合查询改为对中间表的查询,以此来提高查询效率。

3.3 增加冗余字段(慎用)

经常需要跨表查询的字段,可以在主表增加该冗余字段

四、优化MySQL服务器

优化MySQL服务器主要从两方面来优化:一方面是对硬件进行优化;另一方面是对MySQL服务的参数进行优化。

4.1 优化服务器硬件

(1)配置较大的内存。(频率和大小)

(2)配置高速磁盘系统,以减少读盘的等待时间,提高响应速度。

(3)配置多处理器。MySQL是多线程的数据库,多处理器可同时执行多个线程。

4.2 优化MySQL的参数

五、临时表性能优化

MySQL 8.0使用CREATE TABLESPACE语句来创建一个通用表空间。即CTE表达式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值