ホームページ >バックエンド開発 >PHPチュートリアル >Mysql で複数テーブルのクエリを実行する、ビッグデータ、SQL の書き方。
2 つのテーブル A B があると仮定します。どちらのテーブルも同じ構造です。ここで、テーブル A のすべてのフィールドと、テーブル B の set フィールドと rutime フィールドを取り出す必要があります。両方のテーブルの ID は同じです。
データ量が比較的多いため、2 つのテーブルで約 100 万件あり、将来的にはこのような大きなテーブルが複数存在する可能性があります。
select * from A as a,B as b where a.haoma = b.haoma
を取得しましたが、テスト中に死亡しました。この SQL を書くのに役立つエビはありますか?しかし、データ量が多ければそこで死んでしまいます。
クエリされたデータをテーブル C に保存したいのですが、何か良い方法はありますか?
どういう意味か説明してもらえますか。
A.haoma と B.haoma はインデックスされていますか?
インデックスを構築しないと死んでしまいます! ! !
haoma は主キーですか? そうでない場合は、インデックスを作成してみてください。
haoma にインデックスがある限り、クエリはほんの一瞬です
ただし、出力には時間がかかります。100 万件のレコードをすべて印刷しますか?明らかにヘッドに問題があります
直接
c(......) に挿入 select ecs_ershi.* ,ecs_erjiu.set
from ecs_ershi inner join ecs_erjiu on ecs_ershi.haoma=ecs_erjiu.haoma
limit 0, 29
以上、
アウトプットしないでください。 。 。
select * from A as a,B as b where a.haoma = b.haoma
haoma にインデックスがある限り、クエリはほんの一瞬です
ただし、出力には時間がかかります。
100 万件のレコードをすべて印刷しますか?明らかに私の頭に何か問題があります
偉大な神を崇拝し、私はポイントを獲得するためにここにいます。
haoma にインデックスがある限り、クエリはほんの一瞬です
ただし、出力には時間がかかります。
100 万件のレコードをすべて印刷しますか?明らかに私の脳に何か問題があります
クエリを実行した後、より速く印刷するにはページング以外に何ができるでしょうか?
1. 上記の通り、効果的なインデックスを作成します
2. 将来的にデータ量が増加する場合は、サブテーブルを作成します
3. テーブルの構造に長い文字が含まれる場合は、新しいテーブルに分割します
4クエリにストアド プロシージャを使用する
phpmyadmin の実行がスタックする (php.ini の set_time_limit(0);) を実現するには、navigate for mysql
desc select * from A as a,B as b where a を使用してみてください。 haoma = b.haoma テーブルへのインデックスの追加は、where 条件クエリがある場合、フルテキスト インデックスを追加するのが非常に高速です。