これは安全な設計ですか?
もちろん。テーブルは現在構成されているため、クエリを実行して、過去 6 か月間で最も人気のあった 10 個の検索だけでなく、これまでで最も人気のある 10 個の検索を返すことができます。
そして、より良い代替手段は何ですか?
重複を排除したい場合は、検索クエリ テキストに一意のインデックスを配置できます。
制限、パフォーマンス、およびこのようなものが存在する必要性について懸念しています。
必要性を判断できるのは組織だけです。制限とパフォーマンスに関する限り、私は 1 日に 200 万行を追加するデータ ウェアハウスを使用してきました。どのリレーショナル データベースについて懸念しているのかはわかりませんでしたが、現在存在するほとんどのデータベースは、数兆行のテーブルを処理できます。
「無限に」成長するテーブルでクリーンアップを行わないことが良い設計だと思う理由を説明できますか?
無限に成長するテーブルには組織的な理由があると仮定します。一例を挙げると、私はすべてのクエリ、すべての追加、更新、または削除をログに記録する必要があるシステムで作業しました。そして、このデータ ログをオンラインで永久に保持する必要がありました。法律で義務付けられていました。
履歴ファイルに十分なディスク容量があることを確認しただけです。テーブルが保持できる最大行数について考えたことは一度もありません。リレーショナル データベースは DB2 でした。