ホームページ >バックエンド開発 >PHPチュートリアル >MySql サブテーブル、大企業はどのようにやっているのか、効率的に行う方法、サブテーブル間で結合テーブル クエリを実行する方法は何ですか?

MySql サブテーブル、大企業はどのようにやっているのか、効率的に行う方法、サブテーブル間で結合テーブル クエリを実行する方法は何ですか?

WBOY
WBOYオリジナル
2016-09-21 14:13:091393ブラウズ

これでテーブルが 2 つになりました

ユーザーテーブル、uid、ユーザー名、パスワード、電子メールなどのフィールド、および

援助、件名、内容、時間、UIDなどのフィールドを含む記事テーブル

記事の最新の 20 個のデータ フィールドを取得します: uid、ユーザー名、電子メール、補助、件名、内容、時間

いくつか質問があります:

1. 次の 2 つの方法のうちどちらが速いですか? 2番目のタイプだと思います

最初のもの: php はデータを取得した後、直接ループし、毎回 uid を取り出し、ユーザー テーブル情報をクエリします

2 番目のタイプ: 直接左外部クエリ

2. 別々のテーブルの場合、結合テーブルをクエリする方法

ユーザー テーブルが user1、user2、user3、user4、user5 の 5 つのテーブルに分割されているとします。各テーブルに 100,000 のユーザー データがある場合、リンク リスト クエリを使用する場合、最新の記事 20 件を考えると、最も速い方法は何でしょうか?最初の 10 件の記事の著者情報は user1 にあり、最後の 10 件の記事の著者情報は user4 にあります。リンクされたリストをクエリするにはどうすればよいですか?もちろん、記事の著者情報はテーブルでは事前にわかっているわけではなく、主に各記事のuidレコードに基づいて取得されます。

返信内容:

これでテーブルが 2 つになりました

ユーザーテーブル、uid、ユーザー名、パスワード、電子メールなどのフィールド、および

援助、件名、内容、時間、UIDなどのフィールドを含む記事テーブル

記事の最新の 20 個のデータ フィールドを取得します: uid、ユーザー名、電子メール、補助、件名、内容、時間

いくつか質問があります:

1. 次の 2 つの方法のうちどちらが速いですか? 2番目のタイプだと思います

最初のタイプ: php はデータを取得した後、直接ループし、毎回 uid を取り出し、ユーザー テーブル情報をクエリします

2 番目のタイプ: 直接左外部クエリ

2. 別々のテーブルの場合、結合テーブルをクエリする方法

ユーザー テーブルが user1、user2、user3、user4、user5 の 5 つのテーブルに分割されているとします。各テーブルに 100,000 のユーザー データがある場合、リンク リスト クエリを使用する場合、最新の記事 20 件を考えると、最も速い方法は何でしょうか?最初の 10 件の記事の著者情報は user1 にあり、最後の 10 件の記事の著者情報は user4 にあります。リンクされたリストをクエリするにはどうすればよいですか?もちろん、記事の著者情報はテーブルでは事前にわかっているわけではなく、主に各記事のuidレコードに基づいて取得されます。

  1. 2番目のタイプ

  2. https://segmentfault.com/q/10...

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