Почему изменилась скорость подключения к БД MySQL на сервере?
Есть сайт на виртуальном хостинге, использую Debian. У него несколько БД на MySQL. Обновлял один скрипт, который работает локально, но почему-то не работает на сайте. Начал разбираться и вот, что выяснил:
1. Старый скрипт работает. Получает информацию из условной БД №1, обрабатывает и выдает решение. НО! При этом , когда я обращаюсь к этой БД в ручную на сервере, MySQL как будто подвисает. Приходится выходить из mysql и снова заходить. Новый скрипт также не может подключиться к этой БД.
2. Я могу подключиться спокойно к другим БД, которые есть на сервере и работать с ними. При этом новый скрипт тоже спокойно работает с другими БД ,но не с БД №1.
3. БД1 самая большая на сервере около 45 мб.
4. Удалял БД №1, и создавал снова. Если она пустая я могу к ней обращаться и работать. Если же я загружаю в нее таблицы, то старое поведение возвращается.
5. Переустановил mysql на сервере, добавил обратно БД и таблицы - не помогло.
Объясните, с чем связано такое поведение одной БД? Почему старый скрипт до сих пор работает, хотя уже сейчас, обращаясь к этой БД вручную, она зависает?
Обновление: Пока писал этот текст, смог подключиться к этой БД. В ней хранится множество таблиц (порядка 2400) и она загружается порядка 5 минут... Хотя до этого все работало быстро. Изменилась скорость загрузки информации из этой БД. Почему?
Drno, мне непонятно почему это произошло на "пустом" месте. Даже не так. Почему старый скрипт продолжает получать информацию без задержек, в то время как я это сделать не могу. Хотя раньше мог (я все тестил). Может я чего то не вижу перед носом...
при подключении через mysql cli клиент - выполняется кеширование информации о таблицах, чтобы автодополнение работало. Собсно об этом вам и пишут...
2400 таблиц - расстрелять программиста и написать все заново.....
Короче, как всегда, все было под носом. Я упорно не замечал комментарий MySQL: "Reading table information for completion of table and column names. You can turn off this feature to get a quicker startup with -A". Естественно, пока он прочитает все таблицы, пройдет 5 минут. Видимо одна из настроек изменилась...