私たちのサイトには、統計情報のためのいくつかの大きくて単純な(INT、INT、DATE)テーブルがあります。各テーブルには最大300,000,000行があり、毎日大きくなります。
ホスティングプロバイダーは、テーブルを分割またはパーティション分割することを提案しており、この推奨事項を他の場所で何度も見ました。
しかしながら...
私はこのアドバイスをSQL Serverの最大容量 -524,272テラバイトのデータベースサイズと調整し、テーブルの行は「利用可能なストレージ」によってのみ制限されます。
これらの数値に基づいて、上記の表は数百万行(10の303乗)を簡単に持つことができます。
ああ、あなたは言うかもしれませんが、能力とパフォーマンスには違いがあります。
しかし、SQL Serverのパフォーマンスに関するほぼすべての質問で、答えは「テーブルの設計とクエリの設計によって異なります」です。
それが私がこの質問をしている理由です。テーブルの設計はこれほど単純ではありません。インデックス付きIDフィールドに基づく単純なcount(*)操作であるクエリもできません。
How To Decide if You Should Use Table Partitioning