索引的优化,属于逻辑的优化,但是数据大后维护成本高。
物理上:通过水平分表,垂直分表;
 但水平分表在逻辑上增加sql维护 修改的难度。
 维护代价过高,按照某种hash算法进行拆分,简单的拆分模式如取模方式。
 分区技术从mysql5.1以后以插件技术,有力避免如上的弊端,成为解决海量数据存储的有力方法。
 物理上做了切分,逻辑上表明保持不变。
 5.1后甲骨文添加的
分区时在逻辑层进行的水平分表,对与应用程序而言他还是一张表。
 5种分区类型
 a  RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。
 b  LIST分区: 类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值结合中的某个值来进行选择。
 c  HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算,这个函
数可以包含MYSQL中有效的,产生非负整数值的任何表达式。(经常用来做分区测试)
 d  KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且mysql服务器提供其自身的哈希函数。










