11月 04, 2014

將 MysQL 中所有資料列塞進 Memory 內加快查詢

有點暴力的作法,基本上就是將資料存一份在磁碟中,於資料庫啟動後把所有資料全倒進記憶體內,加快查詢速度。

(1) 調整 heap table 的大小,因為 MySQL 的 Memory Engine 使用這個資料結構。
# my.ini
max_heap_table_size = 512MB
(2) 將資料倒入
# 建立表格 mem_parkTable 其 Schema 延用 parkTable
mysql> CREATE TABLE mem_parkTable LIKE parkTable;

# 設定儲存引擎為記憶體
mysql> ALTER TABLE mem_parkTable ENGINE = MEMORY;

# 開始倒資料進來
mysql> INSERT INTO mem_parkTable SELECT * FROM parkTable;
(3) 基本上到這邊就完成了,注意一下如果 MySQL 重新啟動後,在記憶體內的資料會完全不見(廢話),需要重新匯入。

沒有留言:

張貼留言