返回
顶部

修改密码

首页 > 数据库 > MYSQL > 正文
mysql 分区

+1

-1

收藏

+1

-1

点赞0

评论0

当一张表的数据非常多的时候,比如单个.myd文件都达到10G,必然读取起来效率降低。这时就可以用mysql自带的partition(分区功能),可以把表的数据分开在几张表上,根据不同的区域来查询数据以达到优化目的。mysql将会根据指定的规则,把数据放在不同的表文件上.相当于在文件上,被…


当一张表的数据非常多的时候,比如单个.myd文件都达到10G,必然读取起来效率降低。这时就可以用mysql自带的partition(分区功能),可以把表的数据分开在几张表上,根据不同的区域来查询数据以达到优化目的。

mysql将会根据指定的规则,把数据放在不同的表文件上.
相当于在文件上,被拆成了小块.
但是,给客户的界面,还是1张表.


partition 语句

(范围分区法)
文章表
create table news(表名)(
->tid int primary key auto_increment,
->title char(20) not null default ''
->)engine myisam charset utf8
->partition by range(tid)(以哪个字段分区)(
->partition t0 values less than(10),(第一个分区以10结束)
->partition t1 values less than(20),(第fg个分区以20结束)
->partition t2 values less than(MAXVALUE)(以最大的 tid 值结束)
->);
把一张表的id规定为一个范围放在一起,在一定程度上加快查询速度!


(散列分区法)
1=>bj 2=>nj 3=>sh 4=>sz
会员表
create table user(表名)(
->uid int primary key auto_increment,
->name char(20) not null default ''
->aid int() not null default ''
->)engine myisam charset utf8
->partition by list(aname)(
->partition bj(北京,可以自己起名) values in(1),
->partition nj(南京) values in(2),
->partition sh(上海) values in(3),
->partition sz(深圳) values in(4)
->);
要注意用散列分区时列值不要为NULL,不然会报错

mysql不但可以使用id范围分区法、散列分区法还能用年份分区使用year()函数

扫一扫在手机打开

评论
已有0条评论
0/150
提交
热门评论
相关推荐
数据库表连接的简单解释
  • 操作技巧
  • 2022-05-25 18:24
  • 22 0 0
+1
SQL 行转列,列转行
  • 操作技巧
  • 2022-05-25 18:24
  • 20 0 0
+1
一起看懂Redis两种持久化方式的原理
  • 操作技巧
  • 2022-05-25 18:24
  • 32 0 0
+1
为什么要用Redis
  • 操作技巧
  • 2022-05-25 18:24
  • 13 0 0
+1