大表如何优化?

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

(1)限定数据的范围

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

(2)读写分离

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

(3)垂直分区

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

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

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

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

相关文章

SQL数据库触发器语法详解 (sql数据库触发器语法)

            2023-08-06
                            数据库
                            语法
                            触发器

快速简单的删除Oracle数据库字段方法 (删除oracl数据库字段)

            2023-08-06
                            数据库
                            字段
                            删除

如何打开社工数据库bak文件 (社工数据库bak怎么打开)

            2023-08-06
                            数据库
                            打开
                            社工

实现数据库按拼音排序的方法和技巧 (数据库按拼音排序)

            2023-08-06
                            数据库
                            排序
                            按拼音

探究Sybase数据库的性能和功能特点 (sybase数据库怎么样)

            2023-08-06
                            数据库
                            性能
                            探究

SQL Server 如何成功建立自己的数据库? (sql server 建立数据库)

            2023-08-06
                            数据库
                            自己的
                            建立

如何在Oracle中查看数据库触发器? (oracle查看数据库触发器)

            2023-08-06
                            数据库
                            查看
                            触发器

数据库表数据量千万级,对性能影响有多大? (数据库表千万级数据量多吗)

            2023-08-06
                            数据库
                            级数
                            有多大

如何使用Oracle按时间导出表数据库? (oracle按时间导出表数据库)

            2023-08-06
                            数据库
                            导出
                            如何使用

数据库存储:帖子长期保存,信息永不丢失 (帖子存数据库)

            2023-08-06
                            数据库
                            丢失
                            帖子

小米六数据库:全方位数据保障和优化方案 (小米六数据库)

            2023-08-05
                            数据库
                            优化
                            小米

简易教程:使用dbe数据库实现数据连接 (dbe数据库 数据连接)

            2023-08-05
                            数据
                            数据库
                            连接

Oracle实现多个数据库链接的简便方法 (oracle链接多个数据库)

            2023-08-05
                            数据库
                            多个
                            链接

数据库索引:用哪种方法建立? (数据库索引用什么建的)

            2023-08-05
                            索引
                            数据库
                            哪种

实现高效缓存同步:Redis数据库技巧大全 (redis 数据库缓存同步)

            2023-08-05
                            数据库
                            缓存
                            同步

如何利用数据库实现高效的模糊匹配查询? (数据库实现模糊查询)

            2023-08-05
                            查询
                            数据库
                            模糊

数据库有哪些安装方式和位置? (数据库是装在什么上)

            2023-08-05
                            数据库
                            位置
                            装在

Lactmed数据库:妈妈们必备的喂养指南 (lactmed 数据库)

            2023-08-05
                            数据库
                            必备
                            喂养

数据库设计中的主属性定义及作用 (数据库主属性是什么)

            2023-08-05
                            数据库
                            定义
                            属性

数据库分区操作不当常常造成分区不清的问题 (分区不清数据库)

            2023-08-05
                            数据库
                            分区
                            不清