1

私が非常に標準的なmysql接続コードを持っているとしましょう:

$dbhost = '192.168.1.99';
$dbuser = 'dbuser';
$dbpass = 'dbuserpass';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
$dbname = 'mydb';
mysql_select_db($dbname);

これにより、Webサーバーからデータベースサーバーに接続されます(たとえば、Webサーバーは192.168.1.98などにあります)。通常、上記のコードはどのくらいの期間実行されますか?現在、約2秒表示されています。遅いですか?

4

5 に答える 5

3

1つの可能性は、mysqlが接続サーバーの名前を見つけるためにDNSルックアップを実行していることです。設定によっては、これには長い時間がかかる場合があります。IPアドレスではなくホスト名でユーザーを指定できることを除けば、それほどメリットはありません(たとえば、 user@example.comではなくuser@ 192.168.1.1)。

これは、構成で、または--skip-name-resolveパラメーターを使用してMySQLを起動するときに無効にすることができます。詳細については、MySQLサイトを参照してください。

于 2010-11-30T03:37:12.093 に答える
1

2秒は遅いように見えますが、サーバーとデータベースサーバーによって異なります。彼らが他に何をしているのか、彼らがどこにいるのか、そして他の多くの要因に応じて、それは実際に速いかもしれません。

私は通常1秒未満の時間を取得します。

于 2010-11-30T00:10:24.527 に答える
1

ローカルLANの場合、時代遅れの機器を使用している場合、または何か問題がない限り、通常は(a)ミリ秒のオーダーである必要があります。

于 2010-11-30T00:28:51.687 に答える
0

テーブルはたくさんありますか?接続してから周りを見回しているのかもしれません。コマンドラインのmysqlクライアントも遅いですか?ローカルホストから接続している場合は高速ですか?

于 2010-11-30T00:14:51.723 に答える
0

それは非常に遅いです。平均的なWebサイトでは、ページ全体が2秒以内にレンダリングされます。つまり、データベースへの接続、クエリの実行、結果の取得、およびページのレンダリングです。

于 2010-11-30T00:16:40.877 に答える