1.  我的表已经建好了,已经有数据了,还能不能进行Hash分区。因为我看网上的都是很简单的例子,而且都是建表的时候就写了分区语句。2. Hash分区的时候,使用的字段可不可以是多个字段
譬如:  partition by hash(id_1,id_2), partition 4;3. 分区的个数该怎么确定。

解决方案 »

  1.   

    其实参考一下手册中这些内容,你的问题就自然而解了。
    此外,你很可能需要在后面再添加一个“PARTITIONS num”子句,其中num 是一个非负的整数,它表示表将要被分割成分区的数量。 
      

  2.   


    第二个问题:
    由于我的字段可能需要用的是字符串类型,所以才想用hash,因为hash看到网上说,hash里的字段可以用字符串类型。第三个问题:
    我的意思是我有一个很大的表,我要给它分几个区比较合理。查询速度比较快,主要是查询操作。插入的话暂不考虑。
      

  3.   

    试验了一下,建了表之后,插入了数据。
    执行语句
    alter table tabletest partition by hash(string) partitions 4;
    会报错。
    the partition function returns the wrong types.
    难道hash不支持 对字符串分区?
    我的版本是5.1
      

  4.   

    在帮助中已经说明,必须是整数,string中的内容是什么,能否转换成整数
    2、可以
      

  5.   

    嗯。自己又查了下资料。
    发现,key分区可以使用字符串类型。
    测试了一下。可以用。