MySQL 构建高并发网站性能优化
1.表字段分割。经常访问的表、行数量大的表,切记保持最少长度字段,不在select列表的数据,请做垂直分割。举例:文章表,不要将文章正文部分的内容存在文章信息表里,可以将这个字段独立存储到另一张表articleContent(articleID,articleContext)。因为这个字段长度大,影响查询时的行扫描。
2.频繁更新的字段做表的垂直分割。在做更新操作时,一般会做行锁定,有的会设置成表锁定。那么在做query的时候,更新操作没完成前,所有查询都会排队等待。
3.尽量做cache字段,减少表关联查询。
4.对一些非重要、非实时性强的数据,做定时更新,而不是实时更新。
5.索引。好的索引对查询的效果可以达成百上千倍,但前提是好的数据表结构设计。索引太多容易引起更新变慢。注意where和orderby里的字段。关于索引,我会开专题讲解优化。
6.定期重建索引。使用一定时间后,会有索引碎片的问题,这就如磁盘碎片整理。
7.过滤慢查询,一般系统查询时间超过0.1s的都要检查。
8.善用explain分析查询成本。进行了全表扫描的语句都要考虑优化,如几百内的小数据量表除外。
9.配置参数优化。如临时表size、锁机制、数据库引擎类型。
相关推荐
liuweiq 2020-09-09
silencehgt 2020-09-07
bluetears 2020-07-05
minggehenhao 2020-07-04
minggehenhao 2020-06-21
Iamready 2020-06-14
variab 2020-06-14
moyekongling 2020-11-13
chenjiazhu 2020-09-29
mrandy 2020-08-15
Accpcjg 2020-08-02
bendan 2020-07-04
AngelicaA 2020-07-04
wangshuangbao 2020-07-05
TMD咯MySQL 2020-06-16
TNTMysql工程师 2020-06-16
MySQL源氏boy 2020-06-14