データベースが大きくなると、行のSELECTにかかる時間が長くなると仮定すると、データベースが最適化されているかどうかに関係なく、データベースがトラバースするのに最終的に時間がかかりすぎる(つまり、ユーザーに迷惑をかける)ことはありませんか?
理論上の限界だけがあり、現実的な限界がないほど無視できる時間の増加の問題ですか?
データベースが大きくなると、行のSELECTにかかる時間が長くなると仮定すると、データベースが最適化されているかどうかに関係なく、データベースがトラバースするのに最終的に時間がかかりすぎる(つまり、ユーザーに迷惑をかける)ことはありませんか?
理論上の限界だけがあり、現実的な限界がないほど無視できる時間の増加の問題ですか?
そうですね、ある意味で。一般に、データが多いほど、探しているものを見つけるのに時間がかかります。
その時間を劇的に短縮する方法 (インデックス作成、シャーディングなど) があり、いつでもハードウェアを追加できます。インデックスを作成すると、結果を見つけるためにテーブル全体をスキャンする手間が特に省けます。単純な B ツリー インデックスがある場合、最悪のケースは O(log n) になります。
理論上の制限とは別に、テーブルごとの最大行数などの実際的な制限もありますが、最近ではそれらの制限が非常に高く、ほとんど無視できます。
私はそれについて心配しません。適切な DBMS と適切なハードウェアを使用している場合...現実的な量のデータを使用している場合は、許容できる時間内に結果を返す方法をいつでも見つけることができます。制限に達した場合は、保存したものからお金を稼いでいる可能性があり、いつでもプロを雇って助けてもらうことができます ;)