У меня есть некоторые проблемы atm, т. Е. У меня есть база данных из нескольких слов, которая равна 900 000, и что я пытаюсь сделать, проверьте, есть ли в ней слово, и если да , верните другое поле в строке.поиск по огромной базе данных
Я получаю тайм-аут, когда я это делаю. Я знаю, что могу изменить таймаут, но то, что я на самом деле хочу, это сделать его как можно быстрее. Мой посетитель не хочет ждать 30 секунд, чтобы получить то, что он ищет.
Я не могу сделать 900 000k статических файлов, потому что у меня есть ограничение inodes на хостинге.
Так что я в значительной степени заперт, поэтому любая вещь, которую я могу сделать, чтобы сделать ее лучше?
Таблица структуры:
ID | Слово | Otherword
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];
}
Пожалуйста, разверните вопрос, чтобы включить структуру таблицы (например, 'SHOW CREATE TABLE yourtable;') и некоторые примеры запросов. –
таблица структура = создать заявление PLS .. – worenga
Готово. Включил его в вопрос. – Kishor