Уважаемые форумчане, помогите, пожалуйста, настроить правильно для базы данных 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 Заранее благодарен
1. Как выше написали - нужно правильно создать индексы. Определить по каким полям ставятся условия и делать индексы. Чем меньше в индексе полей - тем лучше. Или как минимум проверить все ли индексы есть у вас, которые есть в чужой базе. 2. Расширять память + расширять память в настройках сервера. Просто можно взять настройки чужой базы, наприме. Инфы по этому куча в инете: https://habrahabr.ru/post/108418/ https://yandex.ru/search/?text=оптимизация mysql
Зависит от используемых запросов. Составной индекс придуман не для того, чтобы "а давайте сделаем возможность пилить более тормозные индексы просто потому что можем". --- Добавлено --- Автор, база дампом снималась? Те же индексы в дампе прописаны? Если да, то тогда конфиги, да.
Дело в том что я проиндексировал все что есть в выборке, каждый smallint i integer, для поиска также проиндексировал FULLTEXTот поле с varchar. А может я неправильно делаю Юникальный или Примари Кей? Та выборка которая 100 запросов делает без проблем уходит в кеш, там 60 тыс одинаковых запросов. Но вот что делать с поиском я не понимаю где грабли?
Я дал ссыль. Там офигенные мануалы. Ты их даже не читал, но сделал вывод, что все поверхностно. А ты возьми и прочитай. Чай тебя не в гугл послали. --- Добавлено --- Там прям по первой ссылке антипаттерны рассматриваются. Ты влетел в антипаттерн номер один по индексам. Там это все описано.
По первой ссылке и делал первую оптимизацию, а вот вторую сейчас буду штудировать. Кстати поначалу все выборки были по 10-30 сек, а по тому мануалу первые 4 странички грузятся за 0.1 сек.
Из текстовым поиском разобрался, оказалось phpMyAdmin обманул, показал что поле проиндексировано, а оказалось что нет.