时间:2021-05-23
MySQL性能优化
在互联网公司MySQL的使用非常广泛,大家经常会有MySQL性能优化方面的需求。整理了一些在MySQL优化方面的实用技巧。
Schema与数据类型优化
InnoDB索引优化
查询性能优化
1.对于低效的查询,通常从两个方面来分析:
2.一般MySQL能够使用以下三种方式应用WHERE条件,从好到坏依次为:
3.MySQL从设计上让连接和断开连接都很轻量级,在返回一个小的查询结果方面很高效。在一个通用服务器上,也能够运行每秒超过10万的查询,一个千兆网卡也能轻松满足每秒超过2000次的查询,MySQL内部每秒能够扫描内存中上百万行数据
4.在删除大量数据时,建议每次删除一小批量数据后,暂停一会儿再做下一次的删除
5.无论如何排序都是一个成本很高的操作,所以从性能角度考虑,应尽可能避免排序或者尽可能避免对大量数据进行排序
6.COUNT()函数有两种不同的作用:它可以统计某个列值的数量,也可以统计行数。最简单的就是通过COUNT(*)来统计行数
7.关联查询的时候要确保关联的字段上有索引
8.在数据量很大并且历史数据需要定期删除的情况下,可以考虑使用分区表
9.如果定了的索引列和分区列不匹配,会导致查询无法进行分区过滤
10.外键约束尽可能避免,通常通过程序来实现,心中要有外键
11.触发器、存储过程、自定义函数等最好不要使用
12.尽可能的利用查询缓存,如果在写查询语句的时候有一些不确定的数据(NOW()或者CURRENT_DATE()等)时,则不会被缓存
13.用多个小表代替一个大表对查询缓存有好处
14.批量写入时只需要做一次缓存失效,所以相比单条写入(每写入一次,缓存就失效)效率更好,对于写密集型的应用,直接禁用查询缓存
15.如果缓存的空间太大,在过期操作的时候可能会导致服务器僵死
以上是个人在工作中的经验总结,如果有描述错误的地方希望大家可以帮忙指出,一起交流学习!
到此这篇关于MySQL性能优化技巧分享的文章就介绍到这了,更多相关MySQL性能优化内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php导入大量数据到mysql性能优化技巧。分享给大家供大家参考。具体分析如下:在mysql中我们结合php把一些文件导入到mysql中,这里就来
MySQL性能优化MySQL性能优化就是通过合理安排资源,调整系统参数使MySQL运行更快、更节省资源。MySQL性能优化包括查询速度优化、更新速度优化、MyS
我们知道,通过一些技巧来对数据库进行优化,可以提高MySQL数据库的性能,那么通常有哪些技巧呢? 第一,设计优化 一般来说,我们可能会希望数据库中每一个
本文实例讲述了mysql关联子查询的一种优化方法。分享给大家供大家参考,具体如下:很多时候,在mysql上实现的子查询的性能较差,这听起来实在有点难过。特别有时
MySQL性能优化涉及到很多方面,本文就一些MySQL中的关键参数进行解说,这些参数在一定程度上是决定MySQL数据库的性能关键参数。 我们在进行数据库管理和