我想在MySQL中創建一個MyISAM表(試用5.0.x和5.1.x的各種版本),它允許超過2^32行。實現這一目標的方法是讓MySQL使用8字節而不是4字節的行指針。在MyISAM表中克服2^32行的MySQL限制
下面是從MySQL手冊報價:
如果你構建MySQL使用--with-大表選項,行限制提高到1.844E + 19行。請參見第2.3.2節「典型配置選項」。 Unix和Linux的二進制發行版使用此選項構建。
聽起來很簡單吧?但我已經嘗試了各種針對Linux x86_64的二進制發行版,並且還使用「--with-big-tables」選項從源代碼構建了MySQL。在任何情況下,我仍然無法超越2^32的限制。我創建一個表像這樣:
CREATE TABLE big (col int) MAX_ROWS=1099511627776
當我檢查表狀態,它說:
Create_options: max_rows=4294967295
如何逃脫的32位煉獄?使用InnoDB可能會解決這個問題,但對於我正在運行的查詢類型,它執行速度要慢得多。
僅供參考,這裏有沒有解決不了問題的重要參考:
http://jeremy.zawodny.com/blog/archives/000796.html
你確定你合法需要這麼多行嗎? – Fosco 2010-07-12 13:55:06
@Fosco:如果他正在處理它,假設他是。 – 2010-07-12 14:05:12
@ the_drow:謝謝你。 – Fosco 2010-07-12 14:49:34