Mysql
TokuDB/InnoDB 問題
TokuDB
將數據插入或InnoDB
引擎的更快方案是什麼?每秒超過 200 次插入。可以回答一個引擎。
TABLE: `game` `gameId` bigint 20 (PK) `gameMapId` int 4 `gameType` varchar 20 `createDate` datetime (index)
TABLE: `game` `idx` bigint 20 (autoincrement PK) `gameId` bigint 20 (UK) `gameMapId` int 4 `gameType` varchar 20 `createDate` datetime (index)
Percona 已經用 TokuDB 和 InnoDB 做了一些基準測試
請參閱我 10 天前的文章:TokuDB 並不比 MySQL 快多少
以下對兩個引擎(InnoDB 和 TokuDB)都有效。
第一個模式將包含兩個索引:一個聚集的主鍵索引 (gameId) 和一個二級索引 (createDate)。
第二個模式將創建三個索引:聚集主鍵索引 (idx)、唯一二級索引 (gameId) 和二級索引 (createDate)。
因此,對於第二個建議的表模式,每次插入都需要更多的索引維護。考慮到額外的索引,它在磁碟上也會更大。
要記住的另一個重要因素是,按 gameId 執行搜尋將需要在第一個模式中進行一次查找,但在第二個模式中進行兩次查找(一個在 gameId 索引上以獲取 PK 值,另一個在 PK 上)。