Mysql

TokuDB/InnoDB 問題

  • May 21, 2013

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 上)。

引用自:https://dba.stackexchange.com/questions/42407