TokuDB
またはInnoDB
エンジンにデータを挿入するためのより高速なスキームは何ですか? 1秒あたり200以上の挿入。
1つのエンジンの答えは大丈夫です。
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)の2つのインデックスが含まれます。
2番目のスキーマは、クラスター化された主キーインデックス(idx)、一意のセカンダリインデックス(gameId)、およびセカンダリインデックス(createDate)の3つのインデックスを作成します。
したがって、挿入するたびに、2番目に提案されたテーブルスキーマのインデックスのメンテナンスがさらに必要になります。インデックスが追加されると、ディスク上でも大きくなります。
覚えておくべきもう1つの重要な要素は、gameIdによる検索を実行するには、最初のスキーマで1回のルックアップが必要ですが、2番目のスキーマで2回のルックアップが必要になることです(1つはPK値を取得するためのgameIdインデックスで、もう1つはPKで)。