项目实际:
订单数据随着公司业务发展迅猛增长,需对表进行分表 由于实际的项目背景无法根据某种规则来进行物理的分表操作,所以目前暂定使用mysql的表分区 规避压力
项目需求:
此数据结构是用于数据中心使用,数据中心数据通常是用来进行公司营收分析的。操作性数据库结构:
使用平台策略生成的订单号 作为主键Q:
1.mysql表分区是否能缓解单表读写压力?
2.如果需要在同一个表多个分区中查询数据 该怎样处理 或者说表分区 是否需要根据项目实际情况定义分区字段?或者论坛各位是否有针对电商订单进行大数据量处理的其他方案

解决方案 »

  1.   

    看情况,mysql在过滤分区之前会锁住整张表,这是一大弊端。在多个分区中查询数据最好按分区字段的条件过滤,可以给分区字段加索引
      

  2.   

      mysql5.5分区机制:
    every unique key on the table must use every column in the table's partitioning expression.官方描述如果我一个分区表有个 primary key ,但是我要依据datetime类型的字段进行分区
    那怎么实现呢partition by range (unix_timestamp(datetime_column))(partitions p1 less than unix_timestamp('xxxx-xx-xx')  ..)以上分区表达式里边没有包含primary key字段所在列 直接报错。