За последние 24 часа нас посетили 17973 программиста и 1650 роботов. Сейчас ищут 1209 программистов ...

Очень медленно выполняет запросы Mysql

Тема в разделе "MySQL", создана пользователем Taichi, 25 мар 2017.

Метки:
  1. Taichi

    Taichi Новичок

    С нами с:
    25 мар 2017
    Сообщения:
    5
    Симпатии:
    1
    Уважаемые форумчане, помогите, пожалуйста, настроить правильно для базы данных 120 ГБ (В ней есть 2 таблицы на 45 и 20 ГБ) TecDoc (автозапчасти).
    Версия - Mysql 5.7.14 - Все настройки по дефолту только включен кеш.
    Таблицы MyISAM
    Запущена под Wampserver64
    ОС Windows 7 64 bit
    Конфигурация компа:
    2 CPU Xeon 2.4 12 МБ кеш
    12 ГБ DDR 3 - (В плане 48 ГБ)
    SSD 240 ГБ - SATA 3
    На хосте - 1 Гб памяти PHP 5.4 там и стоит модуль который подключается к моему компу (1 Гбит канал)
    Есть 2 узких места: Выборка из более чем 100 запросов (Выполняется больше 30 сек)
    И поиск по таблице с полем (varchar) в 72 миллиона записей и 20 ГБ весом (Выполняется более чем за 2 минуты)
    При подключении к чужой базе, все работает как самолет, а к моей не хочет. По сему думаю скрипт php работает отлично, это я где то натупил с базой.
    Помогите чайнику настроить my.ini Заранее благодарен
     

    Вложения:

    • my.txt
      Размер файла:
      6,7 КБ
      Просмотров:
      6
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.861
    Симпатии:
    751
    Адрес:
    Татарстан
    индексы, не?
     
    Fell-x27 нравится это.
  3. Drema

    Drema Новичок

    С нами с:
    20 фев 2017
    Сообщения:
    117
    Симпатии:
    30
    1. Как выше написали - нужно правильно создать индексы. Определить по каким полям ставятся условия и делать индексы. Чем меньше в индексе полей - тем лучше. Или как минимум проверить все ли индексы есть у вас, которые есть в чужой базе.
    2. Расширять память + расширять память в настройках сервера. Просто можно взять настройки чужой базы, наприме.

    Инфы по этому куча в инете: https://habrahabr.ru/post/108418/
    https://yandex.ru/search/?text=оптимизация mysql
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Этим можно неделю заниматься и результата не достичь. А спросить конфиги там, где работает хорошо?
     
    Fell-x27 нравится это.
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Зависит от используемых запросов. Составной индекс придуман не для того, чтобы "а давайте сделаем возможность пилить более тормозные индексы просто потому что можем".
    --- Добавлено ---
    Автор, база дампом снималась? Те же индексы в дампе прописаны? Если да, то тогда конфиги, да.
     
  6. Taichi

    Taichi Новичок

    С нами с:
    25 мар 2017
    Сообщения:
    5
    Симпатии:
    1
    Дело в том что я проиндексировал все что есть в выборке, каждый smallint i integer, для поиска также проиндексировал FULLTEXTот поле с varchar. А может я неправильно делаю Юникальный или Примари Кей?
    Та выборка которая 100 запросов делает без проблем уходит в кеш, там 60 тыс одинаковых запросов. Но вот что делать с поиском я не понимаю где грабли?
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Ну и зря. Индексы не так работают.
    --- Добавлено ---
    Читай, изучай.
     
  8. Taichi

    Taichi Новичок

    С нами с:
    25 мар 2017
    Сообщения:
    5
    Симпатии:
    1
    Фелл, обясните пожалуйста, в интернете все очень поверхностно.
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Я дал ссыль. Там офигенные мануалы. Ты их даже не читал, но сделал вывод, что все поверхностно. А ты возьми и прочитай. Чай тебя не в гугл послали.
    --- Добавлено ---
    Там прям по первой ссылке антипаттерны рассматриваются. Ты влетел в антипаттерн номер один по индексам. Там это все описано.
     
  10. Taichi

    Taichi Новичок

    С нами с:
    25 мар 2017
    Сообщения:
    5
    Симпатии:
    1
    По первой ссылке и делал первую оптимизацию, а вот вторую сейчас буду штудировать. Кстати поначалу все выборки были по 10-30 сек, а по тому мануалу первые 4 странички грузятся за 0.1 сек.
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Тогда странно, как у тебя получилось это:
    В общем, не спеши. Вникай.
     
  12. Taichi

    Taichi Новичок

    С нами с:
    25 мар 2017
    Сообщения:
    5
    Симпатии:
    1
    Из текстовым поиском разобрался, оказалось phpMyAdmin обманул, показал что поле проиндексировано, а оказалось что нет.
     
    denis01 нравится это.