Mysql分表例

2937 ワード

Mysql分表には3つの方法がありますが、私が一番お勧めするのはmergeエンジンを使うことです.
先に作成されたテーブル:
mysql> CREATE TABLE t1 (
    ->    a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->    message CHAR(20)) ENGINE=MyISAM;
mysql> CREATE TABLE t2 (
    ->    a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->    message CHAR(20)) ENGINE=MyISAM;
mysql> INSERT INTO t1 (message) VALUES ('Testing'),('table'),('t1');
mysql> INSERT INTO t2 (message) VALUES ('Testing'),('table'),('t2');
mysql> CREATE TABLE total (
    ->    a INT NOT NULL AUTO_INCREMENT,
    ->    message CHAR(20), INDEX(a))
    ->    ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;
ここでt 1,t 2はサブテーブルである
totalはt 1,t 2の2つのテーブルのすべてのデータです
検索時
select * from toal
表面的には普通のテーブルと同じように、実はこのクエリはMysqlテーブルクエリを行い、オペレータに対して透明であるだけです.
挿入するなら
insert into total(message)values('message');
LASTテーブル、つまりt 2テーブルがデフォルトで挿入されます
このような表分け方法は定期的にメンテナンスしなければならない.....
定期的に表を新規作成し、苦痛
次の章ではMysqlクラスタについて検討します