[+/-]
システムの速度を上げる際に最も重要な要素は基本設計です。また、使用するシステムの用途およびそのボトルネックを認識しておく必要もあります。最も一般的なボトルネックは下記のとおりです。
ディスクシーク。ディスクが 1 つのデータを検索するには時間がかかります。最新のディスクでは、通常これにかかる平均時間が 10 ms 未満であるため、理論的には 1 秒間に 100 のシークを実行できることになります。新しいディスクではこの時間の改善が緩やかで、1 つのテーブルの最適化が非常に困難です。これを最適化する方法として、複数のディスクにデータを分散することが挙げられます。
ディスクの読み取りと書き込み。ディスクが適切な位置にある場合、データの読み取りが必要になります。最新のディスクでは、1 つのディスクで約 10–20MB/s の読み取りが可能になります。これは、複数のディスクから並行した読み取りが可能であるため、シークに比較して最適化が容易に行えます。
CPU サイクル。メインメモリにデータがある場合(またはすでにそこに存在している場合)、結果を得るためには処理が必要になります。メモリと比較してテーブルが小さい場合は、最も一般的な制限要因になります。しかし、テーブルが小さくても、一般に速度上の問題は発生しない。
メモリ帯域幅。 CPU キャッシュの適正量より多く CPU がデータを必要とする場合、メインメモリの帯域幅がボトルネックになる。これは、ほとんどのシステムに一般的な問題ではないが、認識しておく必要がある。