ホームページ バックエンド開発 PHPチュートリアル データベース_PHPチュートリアルでのソートの比較と利用条件を詳しく解説

データベース_PHPチュートリアルでのソートの比較と利用条件を詳しく解説

Jul 21, 2016 pm 03:20 PM
mysql php 使用 そして 比較した 選別 データベース ほとんど サーバ 状態 詳しい説明 適切な

MySQL サーバーと PHP サーバーの両方が最適な方法で構成されていると仮定すると、システムのスケーラビリティ (Scalability) とユーザーが認識するパフォーマンス (User-perceived Performance) が私たちが追求する主な目標です。実際の動作では、MYSQL のデータは HASH テーブルや BTREE などのメモリに保存されることが多く、同時に INDEX は多くのアプリケーションで事前ソートを実行しています。最初の選択。

PHP には MySQL と比較して以下の利点があります:

1. Web サイト全体のスケーラビリティと全体的なパフォーマンスを考慮すると、アプリケーション層 (PHP) でソートすることで明らかにデータベースの負荷が軽減され、全体のスケーラビリティが向上します。 Webサイト。実際、データベース内でのソートのコストは非常に高く、メモリと CPU を消費します。多くの同時ソートがある場合、DB は簡単にボトルネックに達します。

2. アプリケーション層(PHP)とMYSQLの間にデータ中間層があり、それが適切に活用されていれば、PHPの方が有利になります。

3. PHP のメモリ内データ構造は、特定のアプリケーション向けに特別に設計されており、データベースよりも簡潔で効率的です。

4. PHP はデータの災害復旧の問題を考慮する必要がなく、この部分の操作損失を削減できます。
5. PHP ではテーブルのロックの問題はありません;

6. MySQL ではソート、リクエストと結果の返却もネットワーク接続を介して実行する必要がありますが、PHP ではソート後に直接返すことができるため、ネットワーク IO が削減されます。

実行速度に関しては、アプリケーションの設計に問題があり、不要なネットワーク IO が大量に発生しない限り、その差は大きくないはずです。また、アプリケーション層は PHP のキャッシュ設定に注意する必要があります。これを超えると内部エラーが報告されるため、アプリケーションに応じてキャッシュを評価または調整する必要があります。具体的な選択は、特定のアプリケーションによって異なります。

PHP でのソートがより良い状況をいくつか挙げてください:

1. データソースが MySQL にない、ハードディスク、メモリ、またはネットワークからのリクエストがある

2. データが MySQL に存在し、量が存在しない。対応するインデックスによると、データを取り出して PHP で並べ替える方が速いです

3. このとき、データ ソースは複数の MySQL サーバーから取得する方が速いです。複数の MySQL からデータを取得し、PHP で並べ替えます。 4 、MySQL に加えて、ハードディスク、メモリ、ネットワークからのリクエストなど、他のデータ ソースも存在します。現時点では、これらのデータを保存するのは適していません。 MySQL でソートする必要があるいくつかの例をリストします。

1. このソートされたインデックスは既に MySQL に存在します

2. MySQL のデータ量が多く、結果セットにはその非常に小さなサブセット、たとえば 1,000,000 行のデータの場合は、TOP 10 を取得します。 3. 並べ替えや統計集計などの複数の呼び出しは、さまざまなサービスに提供できるため、MySQL での並べ替えが推奨されます。さらに、ディープ データ マイニングの場合、通常のアプローチでは、アプリケーション層での並べ替えなどの複雑な操作を完了し、その結果を MySQL に保存して、何度でも簡単に使用できるようにします。

4. データソースがどこから来たとしても、データ量が一定の規模に達すると、メモリ/キャッシュが占有されるため、PHP での並べ替えに適さなくなります。このとき、データはコピーされ、インポートされます。または MySQL に保存され、 INDEX で最適化されたものは、PHP よりも優れています。ただし、そのような操作は Java または C++ で処理する方がよいでしょう。 大規模なデータセットの集計や要約など、一部のデータでは、クライアント側での並べ替えの方が利益と損失を上回ります。もちろん、検索エンジンと同様のアイデアを使用して、同様のアプリケーション状況を解決することもできます。

ウェブサイトの全体的な検討には、マンパワーとコストの考慮も含める必要があります。 Web サイトのサイズや負荷が小さく、人手が限られている場合 (人員や機能が制限される可能性があります)、アプリケーション層 (PHP) でのソートには多くの開発とデバッグ作業が必要となり、時間と時間がかかります。損失する価値はありません。DB で処理するほうが簡単で高速です。大規模な Web サイトの場合、電気代とサーバーのコストは非常に高くなります。システム アーキテクチャを慎重に計画することで、現時点でアプリケーション層 (PHP) が可能であれば、コストを大幅に節約できます。ビジネス ニーズに合わせて整理し、アプリケーション層で実行してみてください。

PHP および MySQL の実行ソートに関する関連知識はこれですべてです。この紹介が役立つことを願っています。



http://www.bkjia.com/PHPjc/325125.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325125.html技術記事 MySQL サーバーと PHP サーバーの両方が最適な方法で構成されていると仮定すると、システムの拡張性 (Scalability) とユーザーが知覚するパフォーマンス (User-perceived Performance) が私たちが追求するものです...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

2024 年の開発者向け PHP CMS プラットフォーム トップ 10 2024 年の開発者向け PHP CMS プラットフォーム トップ 10 Dec 05, 2024 am 10:29 AM

CMSはコンテンツマネジメントシステムの略称です。これは、ユーザーが高度な技術知識を必要とせずにデジタル コンテンツを作成、管理、変更できるようにするソフトウェア アプリケーションまたはプラットフォームです。 CMS を使用すると、ユーザーはコンテンツを簡単に作成および整理できます

See all articles