当前位置:Gxlcms > 数据库问题 > mysql分区性能认识

mysql分区性能认识

时间:2021-07-01 10:21:17 帮助过:2人阅读

    分表:1>多张数据表,2>重复数据的风险 3>写入多张表  4>没有同意的约束限制

    MySQl支持RANGE,LIST,HASH,KEY分区类型,其中以RANGE最为常用;

    Range(范围)--这种模式允许将数据划分不同范围。例如可以将一个表通过年份划分成若干个分区。

    Hash(哈希)--这种模式允许通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如可以建立一个对表主键分区的表。

    Key(键值)--上面Hash模式的一种延伸,这里的Hash Key是MySQl系统产生的。

    List(预定义列表)--这种模式允许系统通过预定义的列表的值来对数据进行分割。

    Composite复合模式)--以上模式的组合使用

二、分区能做什么 

    1,逻辑数据分割

    2,提高单一的写和读应用速度

    3,提高分区范围度查询的速度

    4,分割数据能够有多个不同的物理文件路径

    5,高效的保存历史数据

    6,一个表上的约束检查

    7,不同的主从服务器分析策略,例如master按Hash分区,salve按range分区

三,分区的限制

    1,只能对数据表的整型列进行分区,或者数据列可以通过分区函数转化成整型列

    2,最大分区数目不能超过1024

    3,如果含有唯一索引或者主键,则分区列必须包含在所有的唯一索引或者主键在内

    4,不支持外键

    5,不支持全文索引(fulltext)

    6,按日期进行分区非常适合,因为很多日期函数可以用。但是对于字符串来说合适的分区函数不太多

四,什么时候使用分区

    1,海量数据表

    2,历史表快速的查询,可以采用ARCHIVE+PARTITION的方式。

    3,数据表索引大于服务器有效内存

    4,对于大表,特别是索引远远大于服务器有效内存时,可以不用索引,此时分区效率会更有效


mysql分区性能认识

标签:

人气教程排行