如何优化大表的查询速度?-分库分表怎么做

简介: 分库分表怎么做

分库分表概述:分库分表可以分为只分库、只分表和既分库又分表三种情况。分库是把一个数据库分成多个小数据库,分表则是将一张大表拆分成多张小表,无论是横向还是纵向拆分。
分区:分区是形成分区表的一种方式,每个分区都是独立的逻辑表,但实际上是由多个物理子表组成。分区能够单表存储更多数据并提高维护便利性,同时部分查询可以因落在少数分区上而速度更快。
垂直拆分:垂直拆分是将一个大表中不常用的或者长度较大的字段拆分出去放到扩展表中,有助于解决字段过多的大表问题,并且可以避免"跨页"问题导致的性能开销。
水平拆分:水平拆分是将表中不同的数据行按照一定规律分布到不同的表中,通常是通过主键或者时间等字段进行Hash和取模后拆分,这样可以降低单表数据量,优化查询性能。
分布式数据库中间件:分布式数据库中间件如ShardingSphere、MyCAT、TDDL和Vitess提供了分库分表的功能,支持多种分片策略并提供分片、分布式事务、读写分离等功能,方便了分库分表的实现。

相关文章
|
存储 SQL 关系型数据库
大数据量下数据库分页查询优化方案汇总
当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。
534 2
|
7月前
|
SQL 存储 关系型数据库
MySQL索引(二)索引优化方案有哪些
MySQL索引(二)索引优化方案有哪些
108 0
|
4月前
|
缓存 定位技术 数据库
如何优化大表的查询速度?
如何优化大表的查询速度
39 1
|
5月前
分库分表中间表优化
【7月更文挑战第21天】
40 2
|
数据库
分库分表是一种数据库优化方式
分库分表是一种数据库优化方式
71 1
|
SQL 存储 分布式数据库
分库分表索引设计:二级索引、全局索引的最佳设计实践
对主键来说,要保证在所有分片中都唯一,它本质上就是一个全局唯一的索引。如果用大部分同学喜欢的自增作为主键,就会发现存在很大的问题。
|
存储 关系型数据库 MySQL
太强了!三种方案优化 2000w 数据大表!
太强了!三种方案优化 2000w 数据大表!
173 0
|
负载均衡 监控 定位技术
分库表数据倾斜的处理让我联想到了 AKF 模型
这里的特殊性可以是表中字段的某一个属性,比如订单编号、创建时间等等。这就需要我们根据实际情况,既要拆分的均匀又要拆分之后能满足未来几年的发展,同时还要满足现有业务的支持。
192 0
|
存储 JavaScript Java
亿级别大表拆分 —— 记一次分表工作的心路历程
亿级别大表拆分 —— 记一次分表工作的心路历程