2.000.000 を超えるレコードを含むテーブルの SQL クエリの応答時間を最適化するための最適なソリューションを知りたい
解決策として、SQL ビューを作成して仮想テーブルを作成することを考えました (実際、このアプリケーションのデータは季節に基づいているため、今年作成された行の早い段階で mysql を検索する方が好きです)。
より良い解決策または推奨事項はありますか?
例: 家賃 12 のすべての家賃ラインを検索するには
before => select * fromrent_lines 場所rent_id = 12
今=>ビューを作成しました
CREATE VIEW v_rent_lines
AS SELECT rent_id, category_id, customer_id, amount ..
Where rent_lines FROM created_at > = (select starts_on from seasons where current = true)
select * from v_rent_lines Where rent_id = 12
ノート:
データベース エンジンが使用されている InnoDB
インデックス テーブルを追加しました (index_rent_lines_on_rent_id、index_rent_lines_on_category_id、index_rent_lines_on_customer_id)
家賃には多くのrent_linesがあります