mysql性能优化_MySql性能优化 - smallzhen

mysql的性能的影响程度依次是①硬件配置②mysql配置③数据表设计④索引优化

总结了一下mysql的性能优化

   mysql单表最大记录数取决于操作系统对文件大小的限制,阿里巴巴的开发手册中提出当单表行数超过500万或单表容量超过2GB时推荐分库分表。

6310ff30dc4604d3f25e9fe95de544dd.png

  并发数是指同一时刻数据库能处理多少个请求,由max_connections(mysql实例的最大连接数,上限是16384)和max_user_connections(每个数据库用户的最大连接数)决定。 

  mysql会为每个连接提供缓冲区,会消耗更多内存,如果连接数过高,硬件吃不消,太低的话又不能充分利用硬件。一般要求两者比值超过10%(max_used_connections / max_connections * 100% = 3/100 *100% ≈ 3%)

  可通过命令查看最大连接数及最大用户连接数

  show variables like '%max_connections%';

  show variables like '%max_user_connections%';

  在配置文件中修改最大连接数

[mysqld]  max_connections = 100  max_used_connections = 20

  • 使用数据库规范
    • 控制单次查询时间控制在内。
    • 遵循实施原则: 数据库少干活,应用程序多干活,因为应用程序比数据库容易扩容。
    • 充分利用索引但不滥用,因为索引也消耗磁盘和CPU
    • 格式化数据转移至应用程序处理,不放置数据库函数处理。
    • 不使用外键约束,由上层应用程序保证数据准确性。
    • 写多读少的场景不使用唯一索引,由应用程序保证唯一性。
    • 不执行极度耗时的事务,配合应用程序拆分成小事务。
  • 索引优化原则
    • 分页查询。因为查询量超过30%,mysql不会使用索引。
    • 单表索引数不超过5个,单个索引字段不超过5个。
    • 字符串可使用前缀索引,前缀长度控制在5-8个字符。
    • 数据单一的字段不推荐使用索引,如性别。
    • 合理使用组合索引。

以上总结参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值