選択専用のデータを保存するアーカイブ テーブルを作成しました。
毎日、レコードのバッチをアーカイブ テーブルに転送するプログラムがあります。索引付けされた列がいくつかあります。他の人はそうではありませんが。
バッチ挿入あたりの時間コストが気になります:
- 1 回目のバッチ挿入: N1
- 2 回目のバッチ挿入: N2
- 3 回目のバッチ挿入:N3
問題は、N1、N2、および N3 がほぼ同じになるか、それとも N3 > N2 > N1 になるかです。
つまり、複数のインデックスが存在する場合、時間のコストは一定か増分か?
すべてのインデックスはクラスター化されていません。
アーカイブ テーブルの構造は次のとおりです。
create table document (
doc_id int unsigned primary key,
owner_id int, -- indexed
title smalltext,
country char(2),
year year(4),
time datetime,
key ix_owner(owner_id)
}