我有一個數百萬行的表,我想創建一些部分,但我真的不知道我怎麼能做到這一點。我的意思是我想讓以ID 1 - > 10000開頭的數據位於分區1上,而以ID 10001 - > 20000開始的數據位於分區2上。等等...?你能給我一個例子怎麼做嗎?我怎樣才能做到這一點與MySQL分區
我在互聯網上搜索了很多,我讀了很多文檔,但我仍然不明白它需要做什麼!
最好的問候,
我有一個數百萬行的表,我想創建一些部分,但我真的不知道我怎麼能做到這一點。我的意思是我想讓以ID 1 - > 10000開頭的數據位於分區1上,而以ID 10001 - > 20000開始的數據位於分區2上。等等...?你能給我一個例子怎麼做嗎?我怎樣才能做到這一點與MySQL分區
我在互聯網上搜索了很多,我讀了很多文檔,但我仍然不明白它需要做什麼!
最好的問候,
這是你會如何開始使用分區:
ALTER TABLE table_with_millions_of_rows
PARTITION BY RANGE (id) (
PARTITION p0 VALUES LESS THAN (10000),
PARTITION p1 VALUES LESS THAN (20000),
PARTITION p2 VALUES LESS THAN MAXVALUE
)
如何管理的進一步信息(創建,刪除,更改設置等)的分區,可以發現在MySQL手冊的「Partitioning」一章中。
注意:MySQL中的分區可用於版本5.1。
CREATE TABLE part1 (...)
CREATE TABLE part2 (...)
INSERT INTO part1 SELECT * FROM original WHERE id => 0 AND id < 10000
INSERT INTO part2 SELECT * FROM original WHERE id => 10000 AND id < 20000
你能解釋一下在http://dev.mysql.com/doc/refman/5.1/en/partitioning-range.html中究竟不清楚嗎? – Unreason 2010-06-01 11:00:28
那麼它表明我必須創建一個表才能做到這一點,但我已經把表格...與其中的數據 – Uffo 2010-06-01 11:07:34
有人懶惰可以點擊幾個鏈接,找到**另一個**手冊頁面:http://dev.mysql.com/doc/refman/5.1/en/partitioning-management-range-list.html :) – 2010-06-01 11:35:21