ホームページ >バックエンド開発 >PHPチュートリアル >Mysql で複数テーブルのクエリを実行する、ビッグデータ、SQL の書き方。

Mysql で複数テーブルのクエリを実行する、ビッグデータ、SQL の書き方。

WBOY
WBOYオリジナル
2016-06-23 14:25:521181ブラウズ

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 のインデックスはありますか?

A.haoma と B.haoma のインデックスはありますか?

どういう意味か説明してもらえますか。

A.haoma と B.haoma はインデックスされていますか?

インデックスを構築しないと死んでしまいます! ! !

haoma は主キーですか? そうでない場合は、インデックスを作成してみてください。

select * from A as a,B as b where a.haoma = b.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 万件のレコードをすべて印刷しますか?明らかに私の頭に何か問題があります
偉大な神を崇拝し、私はポイントを獲得するためにここにいます。

select * from A as a,B as b where a.haoma = b.haoma

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 条件クエリがある場合、フルテキスト インデックスを追加するのが非常に高速です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。