做一个项目公司要求使用分库分表,根据id分的表,知道id的情况下定位到表很容易。如果我现在要一个列表怎么办呢?比如一般列表我要最新的100条记录。如果最新的分表里只有1条。。我还得去下一个分表里找99条来。。如果当前分表和下一个分表不在一个库。。还要切换数据库。求思路~~~看过merge,不过为了事务性所以都用的innodb,用不了那东东~~不知还有什么好东东呢?
有说innodb本身就支持分表,不明白,求指点

解决方案 »

  1.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  2.   


    INNODB支持分表。
    看楼主的情况是要进行范围分区。CREATE TABLE employees (
        id INT NOT NULL,
        fname VARCHAR(30),
        lname VARCHAR(30),
        hired DATE NOT NULL DEFAULT '1970-01-01',
        separated DATE NOT NULL DEFAULT '9999-12-31',
        job_code INT NOT NULL,
        store_id INT NOT NULL
    )
    PARTITION BY RANGE (store_id) (
        PARTITION p0 VALUES LESS THAN (1000),
        PARTITION p1 VALUES LESS THAN (2000),
        PARTITION p2 VALUES LESS THAN (3000),
        PARTITION p3 VALUES LESS THAN MAXVALUE
    );表分区只是根据分区条件,