Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Работа с файлами или с базой данных, что меньше грузит сервер на виртуальном хостинге?
Форумы портала PHP.SU » » Вопросы новичков » Работа с файлами или с базой данных, что меньше грузит сервер на виртуальном хостинге?

Страниц (1): [1]
 

1. ppokorp - 21 Февраля, 2019 - 12:46:00 - перейти к сообщению
В сети попадались упоминания, что с MySQL работа пойдет на порядок быстрее, но сравнив в натуре получил, что при поиске по большому файлу и по тому же файлу занесенному в базу, база проигрывает раз в 7.

Может я что-то делаю не так?
файл порядка 500 мбайт, 500 000 строк
1. Поиск по файлу - просто считываю построчно и ищу совпадения через strpos
2. поиск по базе через
$sql = "SELECT * FROM med WHERE vopros LIKE '%$zapros%' ";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);// массив сопадений
2. LIME - 21 Февраля, 2019 - 16:16:25 - перейти к сообщению
гугли полнотекстовый индекс
3. andrewkard - 26 Февраля, 2019 - 21:41:56 - перейти к сообщению
ppokorp пишет:
$sql = "SELECT * FROM med WHERE vopros LIKE '%$zapros%' ";

это очень медленное решение. Понять бы что там у Вас и что Вы ищете, иногда например подходит подготовка строк и их сохранение в таблицу с простым индексом, т.е. например у нас есть строка "текст", мы сохраняем 3 ее варианта
тек
текс
текст
и ищем как полное соответствие строке.
(Добавление)
LIME пишет:
полнотекстовый индекс

ищет по целому слову если не ошибаюсь
4. LIME - 27 Февраля, 2019 - 09:17:08 - перейти к сообщению
andrewkard пишет:
ищет по целому слову если не ошибаюсь
если хотите "как гугл" то ElasticSearch, Sphinx

 

Powered by ExBB FM 1.0 RC1