Mysql调优

Mysql调优

1. 数据库是否是性能瓶颈?
  • 通过日志埋点或druid等工具查看数据库访问时间在整个调用过程中消耗时间的占比情况。
  • 是否表中数据量太大引起的,太大要考虑分库分表
  • 查看mysql所在服务器的内存、cpu占用情况(top命令),查看mysql占用cpu和内存的大小(iostat命令)。
  • 若mysql开启了慢查询日志,查看慢查询日志,看是否是由慢查询造成的。
2.确定数据库是瓶颈,优化措施?
  • 若表太大,索引文件也会很大,每次更新操作就会比较费时,可以考虑按照一定规则分库分表。不过分库分表需要对之前基于单库的程序进行修改,存在一定的风险,因此,在程序设计之初就应该考虑到分库分表的需要,最好是将数据库操作层独立出来,便于扩展和更改。
  • 若表不大,那需要检查sql语句,可以使用explain查看语句是否走索引。
    在建索引时需要考虑:
    · 1)数据库的索引要做到越少越好。 因为每次更新都需要更新索引,索引过多就会降低写入的速度。
    · 2)最窄的字段放在键的左边。 这样提高了索引中每一个点的基数,带来更好的索引读写性能。
    · 3)尽量避免filesort排序、临时表和表扫描。 对于大表,全表扫描会导致大量的磁盘IO的操作,会导致操作非常的缓慢。
    · 4)对于大表,尽量不要将索引建在字符串类型的列上,字符串的匹配是很费时的,需要付出很高的性能代价,如果一定有必要,建议对字符串列进行hash后取一个整形的值来进行索引。
  • 如果更新操作有点慢,而读操作的响应要求不需要很及时的话,可以考虑利用mysql的主从热备来分担读写的压力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值