За последние 24 часа нас посетили 22626 программистов и 1046 роботов. Сейчас ищут 657 программистов ...

Работа с файлами или с базой данных, что меньше грузит сервер на виртуальном хостинге?

Тема в разделе "PHP для новичков", создана пользователем ppokorp, 21 фев 2019.

  1. ppokorp

    ppokorp Новичок

    С нами с:
    21 фев 2019
    Сообщения:
    3
    Симпатии:
    0
    В сети попадались упоминания, что с 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. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.551
    Симпатии:
    1.754
    База работает быстро, когда есть индексы. Запрос like заставляет базу точно так же перебирать по одной все записи, плюс оверхед на соединение транспортировку данных между mysql и твоим скриптом.
     
  3. ppokorp

    ppokorp Новичок

    С нами с:
    21 фев 2019
    Сообщения:
    3
    Симпатии:
    0
    так текстовый файл можно точно также индексировать
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.551
    Симпатии:
    1.754
    Можно, да.

    Но вот Join-ы сделать, со сложными перекрёстными условиями и т.п. - тут уже ты тонну кода напишешь с файликами. А так, простые данные можно да, хранить в текстовом файле
     
  5. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.821
    Симпатии:
    736
    Адрес:
    Татарстан
    полнотекстовый поиск подключи в БД и будет тебе счастье
     
  6. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    ИМХО, дикость хранить тексты (тем более большие) в БД. Это все равно, что на оживленном перекрестке сделать автостоянку. Я однозначно "за" файл.