MySQL性能优化知识点总结

一、简介

通过合理安排资源,调整系统参数使MySQL运行更快、更节省资源。

二、优化查询

1.使用索引查询

MySQL中提高性能的一个最有效方式就是对数据表设计合理的索引。但并不是使用带索引的字段查询时,索引都会起作用。

 (1) 使用like的查询语句中,如果匹配字符串的第一个字符为“%”,索引不会起作用

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

 (3) 关键字or前后两个条件都是索引时,索引才有效

2.优化子查询

分析:MySQL需要为内层查询语句的查询结果建立一个临时表,然后外层查询语句从临时表中查询记录。因此子查询的速度会受到一定影响。如果数据量较大,这种影响就会随之增大。

解决方法:用join来代替子查询,连接查询不需要建立临时表,如果使用了索引,性能会更好。

三、优化数据库结构

1.对于字段较多的表,如果有些字段的使用频率很低,可以将这些字段分离出来形成新表。

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

3.设计数据库表时应尽量遵守范式理论的规约,尽可能减少冗余字段。但是合理的加入冗余字段可以提高查询速度

四、优化MySQL服务器

1.优化服务器硬件。配置较大的内存和高速磁盘。

扫描二维码关注公众号,回复: 9346150 查看本文章

2.优化MySQL参数。修改my.cnf或my.ini文件的配置参数。

  key_buffer_size:表示索引缓冲区的大小。索引缓冲区所有线程共享。增加缓冲区可以得到更好处理的索引。但是如果这个值过    大,会导致操作系统频繁换页,反倒降低性能。

  sort_buffer_size:表示排序缓存区的大小。这个值越大,进行排序的速度越快。

  max_connections:表示数据库的最大连接数。连接会浪费内存资源,过多连接可能会造成MySQL服务器僵死。

  thread_cache_size:表示可以复用的线程的数量。如果有很多新的线程,为了提高性能可以增大该参数值。

  除上述外,还有许多配置参数,合理配置这些参数可以提高服务器的性能。

发布了11 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_36135231/article/details/104439860