問題を見つける コンテンツをリストで表示すると、リスト内のコンテンツの数は多いかもしれませんが、ユーザーが一度に表示されるインターフェースのサイズは限られているため、必然的にページングの問題が発生します。 1 つのインターフェースにすべてのコンテンツを表示することは不可能です。 バックエンドから一度に取得するデータが多すぎると、バックエンドに余分な負荷がかかります。 通常、ページング クエリには次のステートメントが使用されます。 選択 * テーブルから 条件1 = 0の場合 条件2 = 0 条件3 = -1 条件4 = -1 ID昇順で並べ替え 制限 2000 オフセット 50000 オフセットが特に大きい場合、このステートメントの実行効率は大幅に低下し、オフセットが増加するにつれて効率は低下します。 理由は次のとおりです。 MySQL はオフセット行をスキップせず、オフセット + N 行を取得し、前のオフセット行を返して N 行を返します。オフセットが特に大きく、単一のデータも大きい場合、クエリを実行するたびに取得する必要があるデータが多くなり、速度が低下します。 最適化計画: 選択 * テーブルから 参加する (テーブルからIDを選択 条件1 = 0の場合 条件2 = 0 条件3 = -1 条件4 = -1 ID昇順で並べ替え 制限 2000 オフセット 50000) tmp として (id) を使用 または テーブルaからa.*を選択します。 (テーブルからIDを選択 条件1 = 0の場合 条件2 = 0 条件3 = -1 条件4 = -1 ID昇順で並べ替え 制限 2000 オフセット 50000) b ここで、a.id = b.id まず主キーリストを取得し、次に主キーで対象データを照会します。オフセットが大きい場合でも、すべてのフィールドデータではなく、多くの主キーが取得されます。相対的に効率が大幅に向上します。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: Reactの親コンポーネントと子コンポーネント間のデータ転送の詳細な説明
>>: nginx 設定チュートリアルにおける add_header の落とし穴の詳細な説明
環境準備:複数のコンテナに基づいてホストに lnmp をデプロイします。 nginx サービス: 1...
目次1. サービスの開始と停止の手順1.1 Windows での MySQL 5.7 の公式 MSI...
この記事では、フォームデータの非同期送信を実装するためのJavaScriptの具体的なコードを参考ま...
DML 操作とは、データベース内のテーブル レコードに対する操作を指し、主にテーブル レコードの挿入...
この記事では、Vueの簡単なコメント機能を実装するための具体的なコードを参考までに共有します。具体的...
目次1. 理論シリアル化可能繰り返し読み取りコミットされた読み取りコミットされていない読み取り2. ...
Zabbix カスタム スクリプトを使用して監視データを収集する場合、通常、次の問題が発生します。サ...
序文セキュリティ上の理由から、会社が Linux サーバーへのすべてのログインにセキュリティ制限を課...
目次序文コアコードコードのファイル表示部分序文この記事では主に、Vue プロジェクトでの添付ファイル...
MySQL 8.0.13 にはデフォルトでデータ フォルダがあります。このフォルダを削除する必要があ...
MySQL への接続時に発生する 1449 および 1045 例外の解決方法 mysql 1449:...
メモリストレージエンジンに関する知識ポイントメモリ ストレージ エンジンは日常業務ではほとんど使用さ...
必要なときにサービスを有効にし、必要がないときは無効にします。データベース サービスを管理する方法:...
Linux の操作と構成作業では、デュアル ネットワーク カードのバインディングがよく使用されます。...
最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...