• 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()函数

  • 相关阅读:
    vue的组件名称问题
    vue引入js文件时报This dependency was not found:错误
    vue中input输入第一个字符时,光标会消失,需要再次点击才能输入
    vue中url带有#号键,去除方法
    vue路由机制导致的坑,坑,坑
    Python文件读取和数据处理
    python面向对象
    Python PIL库学习笔记
    汉诺塔的python 动画演示
    十九大报告词频分析
  • 原文地址:https://www.cnblogs.com/chuluo/p/7726537.html
Copyright © 2020-2023  润新知