MySQL 构建高并发网站性能优化

1. 表字段分割。经常访问的表、行数量大的表,切记保持最少长度字段,不在select列表的数据,请做垂直分割。举例:文章表,不要将文章正文部分的内容存在文章信息表里,可以将这个字段独立存储到另一张表articleContent(articleID,articleContext)。因为这个字段长度大,影响查询时的行扫描。

2. 频繁更新的字段做表的垂直分割。在做更新操作时,一般会做行锁定,有的会设置成表锁定。那么在做query的时候,更新操作没完成前,所有查询都会排队等待。

3. 尽量做cache字段,减少表关联查询。

4. 对一些非重要、非实时性强的数据,做定时更新,而不是实时更新。

5. 索引。好的索引对查询的效果可以达成百上千倍,但前提是好的数据表结构设计。索引太多容易引起更新变慢。注意where和order by里的字段。关于索引,我会开专题讲解优化。

6. 定期重建索引。使用一定时间后,会有索引碎片的问题,这就如磁盘碎片整理。

7. 过滤慢查询,一般系统查询时间超过0.1s的都要检查。

8. 善用explain分析查询成本。进行了全表扫描的语句都要考虑优化,如几百内的小数据量表除外。

9. 配置参数优化。如临时表size、锁机制、数据库引擎类型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值