美文网首页
高性能mysql之分区表

高性能mysql之分区表

作者: 晓晨科科 | 来源:发表于2017-06-05 11:08 被阅读0次

mysql在创建表时使用PARTITION BY子句定义每个分区存放的数据。在执行查询的时候优化器会根据分区定义过滤那些没有我们需要数据的分区,这样只需要查找包含需要数据的分区就可以了

以下场景适合运用表分区技术:

1,表非常大以至于无法全部放在内存中。

2,分区表的数据更容易维护,可以对一个独立的分区进行优化,检查,修复等操作。

3,分区表的数据可以在不同的无力设备上,从而高效的利用多个硬件设备

4,可以使用分区表来避免某些特殊的瓶颈

5,如果需要,还可以备份和恢复独立的分区。

分区表的主要限制

1,一个表最多只有1024个分区。

2,在mysql5.1中,分区表达式必须是整数,或者返回整数的表达式。在mysql5.5中某些场景可以直接利用列来进行区分

3,如果分区中有主键或者唯一索引的列,那么所有主建列和唯一索引列都必须包含进来。

4,分区表中无法使用外键约束。

对于大多数系统来说100个左右的分区是没有问题的。

mysql只能在使用分区函数的列本身进行比较时才能过滤分区,而不能根据表达式的值去过滤分区,即使这个表达式就是分区函数也不行。

相关文章

  • MySQL分区表

    确认mysql是否支持分区表 mysql分区表的特点 创建mysql数据表为hash表 常用mysql分区的类型 ...

  • 高性能mysql之分区表

    mysql在创建表时使用PARTITION BY子句定义每个分区存放的数据。在执行查询的时候优化器会根据分区定义过...

  • MySQL-分区表

    MySQL-分区表 分区表(于MySQL 5.1引入,v 5.5后可以逐步考虑用于生产环境) 是一个独立的逻辑表,...

  • MySQL的逻辑架构

    MySQL的逻辑架构 MySQL的逻辑架构(from《高性能MySQL》)MySQL逻辑架构,来自:高性能MySQ...

  • Mysql 分区表

    MySQL分区表支持RANGE,LIST,HASH,KEY,COLUMNS多种分区算法。 分区表的唯一索引和主键索...

  • MySQL版本

    MySQL版本对比 服务器性能 1.mysql,percona mysql,mariadb均开源,支持分区表,My...

  • pg inherit

    借助表的继承特性PostgreSQL实现了分区表功能,虽然相比Oracle、MySQL的分区表来说其实现过程比较麻...

  • mysql分区表

    首先检查Mysql服务器是否支持分区表: mysql>show plugins 如果显示有partition项,那...

  • hive的严格模式和分区

    相比mysql,hive有严格模式存在,为了不错误扫描整个数据,hive的分区表会将数据分成几个分区。查询分区表中...

  • Mysql 分区表删除

    分区表删除部分分区 使用场景:从 MySQL 5.1 开始,支持分区 创建日志表时建议使用分区方式 在上表的分区表...

网友评论

      本文标题:高性能mysql之分区表

      本文链接:https://www.haomeiwen.com/subject/lorifxtx.html