私はデータベースに取り組んでおり、13億行、約35列のかなり大きなデータベースに取り組んでいます。テーブルのステータスを確認した後、次のようになります。
Name:Table Name
Engine:InnoDB
Version:10
Row_format:Compact
Rows:12853961
Avg_row_length:572
Data_length:7353663488
Max_data_length:0
Index_length:5877268480
Data_free:0
Auto_increment:12933138
Create_time:41271.0312615741
Update_time:NULL
Check_time:NULL
Collation:utf8_general_ci
Checksum:NULL
Create_options:
Comment:InnoDB free: 11489280 kB
私が直面している問題は、単一の選択クエリでも処理に時間がかかりすぎることです。たとえば、クエリ Select * from Table_Name limit 0,50000
には約2.48分かかります。
履歴データ全体、つまり13億行全体を使用する必要があるレポートを作成する必要があります。このバッチをバッチごとに実行することはできますが、その場合、何度も何度も時間がかかりすぎるクエリを実行する必要があります。
単純なクエリに非常に時間がかかる場合、結合とケースステートメントを必要とする他の複雑なクエリを実行できません。