何百万ものレコードがある場合、両方のバージョンは同じです。
CMS(JoomlaやWordpressなど)が、Webサイトが大きくなり、データベースが500万レコードに達すると、サーバーのタイムアウトが発生する理由を説明します。
- CMSは、必要に応じてWebサイトを拡張する機能を提供するために開発されたシステムです。
- そうすることで、拡張機能を開発し、インラインクエリを追加し続けることができます!!!
- 100万件のレコードからレコードのリスト(たとえば、1ページあたり15レコード)を表示する場合。 CMSはそのテーブルをクエリします。
- #3に加えて、CMSは、ヒットの追跡、ユーザーと息子の追跡など、他の内部タスクを実行するために、カーテンの後ろで他の多くのクエリを実行します。
- #4に加えて、実行基準に関係なく同じページで実行される他のいくつかのモジュールとプラグインがあり、さらにいくつかのインラインクエリがある場合があります(それらのほとんどは悲しいことに多くのクエリを実行します)。
ここで、約100人のユーザーがいると仮定します。上記の1-5で書いたのと同じページをロードするようになりました。このシナリオで約10個のmySQLクエリが実行されるとすると、一度に100人のユーザーがいる場合に実行されるクエリの数を想像してみてください。
このような大規模なデータベースがある場合は、負荷分散を実装する必要があります。今のところ、MySQLデータベースの構成にアクセスできる場合は、MySQLデータベースを最適化できます。 max_connectionsなどのsysvarの増加を調べることができます。
編集:「負荷分散」とは、ハードウェアをアップグレードすることではなく、システム全体とワークフローをアップグレードすることで、最大限の最適化で目標を達成するのに役立ちます。コメントで質問されたので、それが何であるかを人々に知ってもらいたいので、それをより明確にするために私の答えに含めてください。
サーバーがタイムアウトし、データベースに数百万のレコードがあるため、次のWebロケーションで説明されていることを考える必要があります。
http://en.wikipedia.org/wiki/Load_balancing_%28computing%29
http://technet.microsoft.com/en-us/library/bb742455 .aspx
彼らは私が話していることを理解するのに役立つかもしれませんが(トピックから外れている可能性があります)、データベースまたはWebサイトの負荷を分散して、クエリをすばやく実行できるようにする方法の可能性を真剣に検討する必要があります。