mysql优化(一)

mysql优化(一)

背景:
既然是mysql优化,就要有一定的访问量、数据量,否则你本地一个demo环境,优化意义不大。

一、影响mysql性能的因素有多种,如:

1.硬件方面:网络、内存、cup、磁盘IO
2.mysql参数配置
3.SQL语句
4.索引
5.数据库表设计、数据库锁

二、优化策略

1.硬件方面
如果条件允许,升级硬件最快了,只用花钱就行,大家都省事。但是,你的老板或客户得愿意花钱才行(必须升级时,就不是他们愿不愿意的事了),当然上来就升级硬件也不符合实际情况,你得先看看CPU、内存、磁盘IO等硬件资源的使用情况吧。
2.mysql参数配置
如果观察测试后,发现硬件资源并没有逼近极限,尚能使用,那么先优化一下mysql参数配置(个人觉得以下两个配置优化有意义,个人理解,欢迎指导~):
2.1 innodb_buffer_pool_size
#使用innodb引擎时,可以把这部分设大点。(PS:官方建议如果是专用的数据库服务器,大小设置成内存的80%,这一块看实际情况吧,”show status like ‘innodb_buffer_pool_read%’;”看看使用情况)
2.2 max_connections
#MySQL允许最大连接数
3.SQL语句
3.1.复杂SQL不建议(不是说你sql语句写的越长,越复杂,你就越NB,这里往往产生慢SQL)。
3.2.多表关联查询,慎用!按你一张表有1W条记录,你各种join,你的执行时间会非常感人,不信请测试一下你SQL耗时。
3.3.select *禁用,只查询你需要的字段就行了。
4.索引
4.1首先明白不是每张表都要建索引的,更不是每个字段都要建索引的,索引也是耗资源的,也有维护成本。索引会方便查询,但是也会影响添加与修改。
4.2建索引参考规则:选择查询条件的字段;作为索引字段的长度尽可能的短;重复率高的字段不适合做索引;频繁更新的字段不适合做索引;选择合适的索引种类;explain一下SQL语句是否用到索引,至少要达到range级。
5.mysql表结构锁
表结构和字段类型要合理,慎用数据库锁!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值