目次
ディスカッションへの返信 (解決策)

サブテーブルに関する質問

Jun 20, 2016 pm 12:59 PM

現在、データベースに 500 万を超えるデータを持つ 3 つのフォームがあり、テーブルの 1 つが 1000 万を超えていますが、クエリの速度がどんどん遅くなってきています

専門家に次のことを質問したいと思います。質問

1. 100 万を超えるテーブルを複数のテーブルに分割します。

2. B データ テーブルを 100 万のテーブルに分割すると、テーブル A の ID はテーブル B に 5 個のデータがあり、B のデータ テーブルに分割された 10 個のテーブルに格納されています (問題が発生します。データを読み取るときに、テーブル B 内のすべてのテーブルを読み取ることができません。この 5 個)。のデータが分割テーブルの 5 番目と 6 番目のテーブルに配置される可能性があります。この場合、テーブル B の 5 番目と 6 番目のテーブルを読み取るだけで済みます。前提として、データがどこにあるかはわかりません。全く。)


ディスカッションへの返信 (解決策)

これに続いて、インデックスを追加すると、最大 200W のデータが発生しました。非常に効果的です。プロセスを知りたいです。最適化された単一テーブル データの上限はどれくらいですか?

数百万の通常のクエリ ステートメントがあり、インデックスが追加された場合、クエリ速度は問題ありません。ただし、テーブルまたはサブクエリの結合は遅くなります

水平テーブル シャーディングではターゲット ID の場所を知っている必要があり、そうでない場合は逆効果となり、効率が低下します。
外部キー アルゴリズムに従ってテーブルを分割できるかどうかを確認してください

テーブルの分割は条件付きであり、単純にレコード順に分割されるわけではありません
たとえば、 A と B は id によって関連付けられています。 B は A.id に従って分割されます
このように、A.id がわかっている場合、分割ルールに従って、関連するレコードがどの Bn に表示されるかを推定できます

テーブル間の関係は多対多であるため、テーブルを分割することは無意味です
現時点では、関係を保存するために遷移テーブルを使用する必要があり、クエリはすべてのテーブルを相関させるのではなく 2 段階で実行する必要があります一度に
遷移テーブルは通常 2 列しかありません。レコード数は多いですが、一度にメモリにロードされる可能性が高くなります (複数回ロードする必要がある場合でも、レコードの数は異なります)。毎回ロードできるサイズも非常に大きいです)

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

Instagram APIの紹介

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

Laravelの通知 Laravelの通知 Mar 04, 2025 am 09:22 AM

Laravelの通知

See all articles