つまり、900,000 のようないくつかの単語のデータベースがあり、単語が含まれているかどうかを確認し、含まれている場合は別のフィールドを返します行。
タイムアウトを変更できることはわかっていますが、実際に望んでいるのは、可能であればどうにかして速くすることです。私の訪問者は、探しているものを得るために 30 秒以上待ちたがりません。
ホスティングに inode 制限があるため、900,000k の静的ファイルを作成できません。
だから私はかなり閉じ込められているので、それを改善するためにできることはありますか?
テーブル構造:
ID | 単語 | 別言
CREATE TABLE `database` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`word` text COLLATE utf8_unicode_ci NOT NULL,
`md5string` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=966277 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
クエリ:
mysql_query("SELECT otherword FROM table WHERE word='$word'");
別のクエリ:
mysql_query("SELECT word FROM table WHERE otherword='$otherword'");
メインクエリ (GET を使用したファイル)
$word = $_GET["word"];
echo $word;
$check = mysql_query("SELECT md5string FROM `database` WHERE word='$word'") or die(mysql_error());
while (mysql_num_rows($check)>0)
{
$out = mysql_fetch_array($check);
$output = $out[0];
}