私のアプリケーションは大きく、約です。200,000 エントリの 200 テーブル
それは大きくありません。ただし、テーブルの数が多いということは、通常、データを分割しようとして正規化を破ろうとしているという良い指標です。
php.ini を設定したら、コードのどこにでも mysql_connect() クエリを追加する必要がないことを意味します
mysql_connect(); を追加するのは本当に難しいですか? ? ユーザー名/パスワードが ini ファイルまたは自動追加のインクルード ファイルに設定されている場合は、明示的に設定する必要さえありません。実際、インクルード ファイルで db 関数をラップすると、遅延接続できます。
<?php
ini_set('mysql.default_user', 'scott');
ini_set('mysql.default_password','pussycat');
$GLOBALS['my_db_handle']=false;
function wrap_mysql_connect()
{
if (false===$GLOBALS['my_db_handle']) {
$GLOBALS['my_db_handle']=mysql_connect();
@mysql_select_db('my_preferred_db', $GLOBALS['my_db_handle']);
@mysql_set_charset('utf8', $GLOBALS['my_db_handle']);
}
return $GLOBALS['my_db_handle'];
}
function wrap_mysql_query($sql)
{
if (false===$GLOBALS['my_db_handle']) {
wrap_mysql_connect();
}
if (false===$GLOBALS['my_db_handle']) {
trigger_error(mysql_error());
return false;
}
$result=mysql_query($sql, $GLOBALS['my_db_handle']);
if (false === $result) {
trigger_error(mysql_error());
return false;
}
return result;
}
不要なときにデータベース接続を開く (および不要になったときに明示的に閉じない) と、リソースが不必要に消費されますが、オーバーヘッドはそれほど大きくありません - 時期尚早の最適化に注意してください。