码迷,mamicode.com
首页 > 其他好文 > 详细

大表如何优化?

时间:2021-07-19 16:43:09      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:查询语句   code   垂直   增删改   str   有用   方案   事务   loading   

当MySQL单表记录数过大时,数据库的增删改查性能会明显下降,常见的优化方法如下:

(1)限定数据的范围

务必禁止不带任何限制数据范围条件的查询语句。比如我们当用户在查询订单历史的时候,可以控制在一个月范围内。

(2)读写分离

经典的数据库拆分方案,主库负责写,从库负责读。

(3)垂直分区

根据数据库里面数据表的相关性进行拆分。例如,用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。

垂直拆分就是指数据表列的拆分,把一张列比较多的表拆分成多张表。

技术图片

垂直拆分的优点:可以使得列数据变小,在查询时减少读取的block数,减少IO次数。另外,垂直分区可以简化表的结构,易于维护。

垂直拆分的缺点:主键会出现冗余,需要管理冗余列,并会引起join操作,可以通过在应用层进行join来解决。此外,垂直分区还会使得事务变得更复杂。

大表如何优化?

标签:查询语句   code   垂直   增删改   str   有用   方案   事务   loading   

原文地址:https://www.cnblogs.com/xxeleanor/p/15025615.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!