0
我正在試驗跨多個磁盤分區非常大的(100M行)表以獲得空間並提高吞吐量。我安裝,格式化並將兩個1TB SAS磁盤作爲/ db1和/ db2安裝到我的Dell Poweredge服務器中以容納這些表。我的創建語句是(爲了簡潔起見省略了一些行):使用DATA DIRECTORY不移動表的MySQL分區表創建
DROP TABLE IF EXISTS allreads;
CREATE TABLE allreads (
uuid int(11) NOT NULL AUTO_INCREMENT,
sample_id int(11) NOT NULL,
uid int(11) NOT NULL,
rid char(100) NOT NULL,
seq text(1000) NOT NULL DEFAULT '',
v char(30) NOT NULL DEFAULT '',
d char(30) NOT NULL DEFAULT '',
j char(30) NOT NULL DEFAULT '',
c char(30) NOT NULL DEFAULT '',
pep char(100) NOT NULL DEFAULT '',
PRIMARY KEY (uuid,sample_id),
KEY index_v (v),
KEY index_j (j),
KEY index_cdr3 (pep)
) ENGINE=InnoDB
AUTO_INCREMENT=1
DEFAULT CHARSET=utf8
PARTITION BY RANGE(sample_id)
SUBPARTITION BY HASH(uuid) (
PARTITION p0 VALUES LESS THAN (4500) (
SUBPARTITION p0a
DATA DIRECTORY='/db1/allreads'
INDEX DIRECTORY='/db1/allreads',
SUBPARTITION pob
DATA DIRECTORY='/db1/allreads'
INDEX DIRECTORY='/db1/allreads'
),
PARTITION P1 VALUES LESS THAN (9000) (
SUBPARTITION p1a
DATA DIRECTORY='/db2/allreads'
INDEX DIRECTORY='/db2/allreads',
SUBPARTITION p1b
DATA DIRECTORY='/db2/allreads'
INDEX DIRECTORY='/db2/allreads'
)
)
;
我從MySQL 5.5手冊中幾乎逐字讀取了分區位。
沒有獲取/ DB1或/ DB2創建分區的默認表空間
sudo ls -l /data/mysql/cdr3/
total 13530388
-rw-rw---- 1 mysql mysql 13654 Aug 27 10:24 allreads.frm
-rw-rw---- 1 mysql mysql 60 Aug 27 10:24 allreads.par
-rw-rw---- 1 mysql mysql 147456 Aug 27 10:24 allreads#P#p0#SP#p0a.ibd
-rw-rw---- 1 mysql mysql 147456 Aug 27 10:24 allreads#P#p0#SP#pob.ibd
-rw-rw---- 1 mysql mysql 503316480 Aug 27 10:41 allreads#P#P1#SP#p1a.ibd
-rw-rw---- 1 mysql mysql 503316480 Aug 27 10:41 allreads#P#P1#SP#p1b.ibd
-rw-rw---- 1 mysql mysql 65 Aug 14 13:05 db.opt
我看到錯別字的分區名稱拉閘,P1和POB,肯定不能吧。如果需要,我可以提供my.cnf行。
我看不出相對於手冊的陳述有任何問題。誰能告訴我我做錯了什麼?有沒有人得到這個功能的工作?
我使用5.5.38-0ubuntu0.14.04.1日誌(Ubuntu的)
+1兩點。只需使用帶有條帶的RAID。 – 2014-08-29 21:54:46