2012-04-15 6 views
1

私は頻繁に動的で、MySQLデータベースを絶えず使用するサイトを開発しています。私の質問です - 私はデータベースの負荷について心配する必要がありますか?
たとえば、サイトの一部にAJAXを使用して各ユーザーの毎秒データベースに接続するライブチャットがあります。接続されているユーザーの数に応じて、それは多くのクエリです!MySQLデータベースの負荷について心配する必要がありますか?

これはMySQLデータベースが処理できるものですか、それとも私はそれを押していますか?ありがとう。

+0

はい、あなたは確かにそれについて心配する必要があります。それはそれを扱うだろうか?誰も知っているわけではありません。 – Mat

答えて

3

あなたは実際にそれを押しています。あなたのサーバとオンラインユーザ数に応じて、MySQLはある時点で処理できます。

MySQLおよび他のデータベース管理システムはデータストレージシステムであり、実際にはデータを格納していません!あなたはMySQLを介してクライアント間でデータを送信しているだけです。効率的ではありません。

しかし、物事をスピードアップするために、あなたはチャットインフラストラクチャを持っているインスタントメッセージのためのMySQLのメモリテーブルを使用し、別のMyISAMか(データを格納されます)のInnoDBテーブル

しかし、最善の方法でオフラインメッセージを保持することができますすべてのメッセージをメモリに保持するバックエンドアプリケーションを持っていて、受信していないメッセージをオフラインメッセージとしてMySQLに送信することがあります。これはMySQL Memory Tablesと非常によく似ていますが、データをより詳細に制御できます。この問題は、メモリ管理の良い論理的で効率的なデータ構造を実装する必要があることです。市販の製品を使用していない場合や、チャットシステムの販売を考えていない場合は不要な場合は非常に難しい作業ですので、MySQL私が説明したようにメモリテーブル。

更新
MySQLのメモリテーブルには、(サービス/サーバの再起動時にリセットされます)揮発性であるので、保存するためにそれを使用していない、インスタントメッセージのための短時間でデータを保持するためにのみ使用します。

+0

ありがとう!私は現時点でやっているやり方をやめ、MySQLメモリテーブルを調べます。再度、感謝します。 –

+1

私はMemory Tablesのボラティリティ情報を追加しました。どういたしまして –

関連する問題