文档章节

表分区 partition

雨落屋檐下
 雨落屋檐下
发布于 2017/08/11 00:34
字数 440
阅读 1
收藏 0

当一张表的数据非常多的时候,比如单个.myd文件都达到10G, 这时,必然读取起来效率降低.

可不可以把表的数据分开在几张表上?

 

1: 从业务角度可以解决. (分表)

比如, 通过id%10 , user0 , user1....user9, 这10张表

根据不同的余数,来插入或查询某张表.

 

2: 通过mysql的分区功能

mysql将会根据指定的规则,把数据放在不同的表文件上.

相当于在文件上,被拆成了小块.

但是,给客户的界面,还是1张表.

 

常用的规则:

根据某列的范围来分区, 也可以某列的散点值来分区.

 

示例: 按列的范围来分区

以用户表为例, uid

uid [1,10)  ---> user partition u0

uid[10, 20) ---> user partition u1

uid [20, MAX] --> user partion u2

 

分区 按range分区

 create table goods (

 id int,

 uname char(10)

 )engine myisam

 partition by range(id) (

 partition p1 values less than (10),

 partition p2 values less than (20),

 partition p3 values less than MAXVALUE

 );

 

按散点值分区

有一张省表

pid 主键

prov 省名

1

北京

2

安徽

...

 

35

西藏

 

user 表,想按省来分区,

uid 主键

pid 省份

uname 用户名

1

1

张北京

15

2

赵安徽

create table user (

uid int,

pid int,

uname 

)engine myisam

partition by list(pid) (

partition bj values in (1),

partition ah values in (2),

partition xb values in (4,5,6)

);

 

注意: 在使用分区的时候,注意,分区的那个列,值不要为NULL 

(如果不小心为NULL,mysql为理解为0,尽量执行之)

 

注 :分区甚至可以按照表达式的返回值,计算所属区. 

但用表达式,不如直接用值来得快. 根据情况而定.

 

比如,用 partition by range (year(regtime)) 可以按注册年份来分区.

© 著作权归作者所有

共有 人打赏支持
下一篇: count() 优化
雨落屋檐下
粉丝 0
博文 20
码字总数 21135
作品 0
广州
程序员
私信 提问
数据库表分区

一、什么是表分区 表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。 如:某用户表的记录超过了800万条,那么就可以根据入库日期将表分区,也可以根据所在地将表...

yanlijun_java
01/19
0
0
ORACLE PARTITION简介

一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行...

zancun
2017/09/08
0
0
centos7-mysql-分区

分区跟分表类似,目的是将一张表分到不通的存储中,这样可以减少单一磁盘IO占用,提高数据库效率 分区主要有两种形式 水平分区 对表的行进行分区, 垂直分区 减少表的宽度, 想使用分区,需要先查看...

动力在于作
2017/03/31
0
0
Oracle 分区表的新增、修改、删除、合并。普通表转分区表方法

一. 分区表理论知识 Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包...

sjzmlb
2015/12/23
272
0
oracle表分区二 转

此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作. (1.) 表空间及分区...

李永china
2016/05/15
21
0

没有更多内容

加载失败,请刷新页面

加载更多

《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
25分钟前
1
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
41分钟前
2
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部