`
geeksun
  • 浏览: 953124 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mysql 分表策略

 
阅读更多

数据量大了需要考虑使用分表来减轻单表压力,提升查询性能。当然也有其他举措,比如读写分离、cluster等,此文重点讲分表的做法。

 

分表有几种做法?

1.  分表的原理:把常用字段如ID或NAME取hash值,根据hash值放在不同的表中。

当然也有求余的方法,这个可以多种方法来实现。

这个方法使用于论坛,发贴表,数据量大时,可采用此策略。比如1亿条记录,建256张表,每个表hash进40万记录,每个表压力明显很小。

 

2.  使用merge引擎来实现分表:

原理,建若干个分表,再建一个合并表存所有数据,全部查询时从合并表时,分开查询时从分表中查询。

 

注意:

在使用分表时,每个表的ID不能使用自增长,而由专门的服务来提供,比如由一个表专门处理提供ID业务,此表统一对外提供ID,所以表需要新增记录时,到此表来取唯一的ID。

 

 

分享到:
评论

相关推荐

    根据规则mysql创建分表

    以下是一个基于用户ID进行分表的简单示例,以及如何实现这个分表策略的说明: 1. **确定分片键**: 首先,我们需要确定一个分片键(Sharding Key),这通常是用户ID或其他唯一标识符。在本例中,我们将使用用户ID...

    mysql数据库分表分库的策略

    一、先说一下为什么要分表: 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。日常开发中我们经常会遇到大...

    sharding-proxy实现分表

    使用mysql5.7+sharding-proxy实现分表,策略为每半年时间分一次表

    mysql分表分库的应用场景和设计方式

    很多朋友在论坛和留言区域问mysql在什么情况下才需要进行分库分表,以及采用何种设计方式才是最优的选择,根据这些问题,小编为大家整理了关于MySQL分库分表的应用场景和最优的设计方式举例。 一. 分表  场景:对于...

    MySQL 分表优化试验代码

    这里的分表逻辑是根据t_group表的user_name组的个数来分的。因为这种情况单独user_name字段上的索引就属于烂索引。起不了啥名明显的效果。1、试验PROCEDURE.DELIMITER $$DROP PROCEDURE `t_girl`.`sp_split_table`$$...

    MySql分表、分库、分片和分区知识点介绍

    需要进行数据的处理,采用的手段是分区、分片、分库、分表。 二、分片(类似分库)  分片是把数据库横向扩展(Scale Out)到多个物理节点上的一种有效的方式,其主要目的是为突破单节点数据库服务器的 I/O 能力限制...

    SpringBoot 多数据源

    springboot 多数据源 MySQL 分库分表策略。 springboot 多数据源 MySQL 分库分表策略。

    mysql数据库分库分表实践

    一、背景 随着零售门店数量的增长,库存表,优惠劵表,消息表,订单表数据量不断的增多,目前一主(写)多从的MySQL...支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询 三、架构设计改造 目前生产数据库架构

    10道精选MySQL面试题

    10道精选MySQL面试题: 请简述B树和B+树在MySQL数据库索引中的应用,并解释为什么InnoDB存储引擎选择使用B+树作为索引结构? 在什么情况下,查询优化器会选择...如果业务需要进行水平拆分,你将如何设计分库分表策略?

    (mysql面试题)MySQL中的高可用性和负载均衡策略及代码展示.txt

    解释: - 在上述代码中,我们首先展示...- 最后,我们展示了如何使用分库分表的方式实现MySQL的负载均衡。通过`PARTITION BY HASH(YEAR(order_date))`子句,我们将订单表按照年份进行分库分表,提高了系统的处理能力。

    MySQL大型分布式集群 龙果学院

    mysql初次见面-mysql5.7的用户以及安全策略 00:05:34分钟 | 第7节 mysql初次见面续-mysql基本操作 00:37:36分钟 | 第8节 认识主从复制 00:15:01分钟 | 第9节 主从复制的准备工作01-mysql用户以及权限 00:12:11...

    使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值

    分表除了表名的索引不同之外,表结构都是一样的,... 这个取ID的操作看似很复杂,所幸的是,MySQL提供了LAST_INSERT_ID机制,让我们能一步完成。 1、新建数据表ticket_mutex 代码如下: CREATE TABLE ticket_mutex ( na

    100道mysql的面试题

    2. 文档内容包括mysql索引,索引失效,覆盖索引,回表,二叉树,死锁,读写分离,分库分表,分库分表中间件,聚集索引或非聚集索引, 索引优化,事务级别,幻读,脏读,不可重复读,数据库的乐观锁和悲观锁,SQL优化...

    MySQL优化笔记-整理版.doc

    “分表分库”(用什么策略分表分库?) “主从分离”(用什么中间件?) 并没有从细化到定量的层面去分析. 如qps提高了%N? 有没有减少文件排序?语句的扫描行数减少了多少? 没有大量的数据供测试,一般在学习环境中,只是...

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    列举一些常用的数据库备份和恢复策略。 什么是数据库优化?列举一些常见的数据库性能优化方法。 什么是数据库表关联?列举一些常见的表关联类型。 什么是数据库存储过程和触发器?它们的作用和使用场景是什么? ...

    MySQL优化笔记

    Q: 为什么别人问你MySQL优化的知识 总是没有底气. ...“分表分库”(用什么策略分表分库?) “主从分离”(用什么中间件?) 并没有从细化到定量的层面去分析. 如qps提高了%N? 有没有减少文件排序?语句的扫描行数减少了多少?

    Mysql优化策略(推荐)

    3、分区、分表、分库 设计表的时候: 1、字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字0代替null。 2、尽量使用INT而非BIGINT,如果非负则加上UNSIGNED(这样数值容量会扩大一倍)...

    LEAGUE-OF-BME#InterviewFAQ#数据库优化与大数据量1

    2.MySQL 对于千万级的大表要怎么优化 3.MySQL数据库复制(主从、主主) 4.读写分离 5.数据库分库分表策略

Global site tag (gtag.js) - Google Analytics