Невозможность выполнить запрос к БД

Deni
На сайте с 15.04.2006
Offline
355
875

Приветствую всех.

Возник вопрос по работе Бд на сервере (нормальной конфигурации).

Суть. Программист переписывает движек сайта.

Решил построить индекс таблицы

Потребовалось выполнить запрос

ALTER TABLE `ahl_articles` ADD INDEX ( `article_submitteddate` );

В ahl_articles 90.000 записей размером 650 мегов

Запрос выполняли как скриптом так и через шелл

Во всех ситуациях создается индекс ровно 45000 записей и баста.

При попытке удалить любой существующий ключ article_submitteddate или добавить новый сервер не отвечает.

Поступило предложение увеличить wait_timeout

Увеличили до 300

Та же песня......... :(

Знаю что по фотографии не лечут ....... Но может быть мысли возникнут у кого либо?

edogs software
На сайте с 15.12.2005
Offline
775
#1

repair table ahl_articles;

optimize table ahl_articles;

для начала

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
Deni
На сайте с 15.04.2006
Offline
355
#2
edogs:
repair table ahl_articles;
optimize table ahl_articles;
для начала

ну это сделано само собой :(

Непойму одного.

Сейчас админ сменил какую то настройку

Индексы article_submitteddate

Нажимаю "Удалить"

Через минуту выходит 504 ошибка

Обновляю таблицу. То что удалял на месте.

Жду минут 10-15 - индекс на месте

Захожу через 25-30 минут - индекс удалился

Там размер то индекса мегов 50 всего........ Совершенно непонятная ситуация :(

edogs software
На сайте с 15.12.2005
Offline
775
#3

Что бы построить индекс - мускул должен прошерстить всю таблицу. Т.е. те самые 650Мб. У нас на 100Мб сейчас на табличке индексы строятся по 2 минуты на выделенном сервере (правда не мощном), на 650Мб ВАм... в общем 300 секунд вполне могло не хватать. Не ожидайте мгновенной работы БД на больших данных. Главное - не суетится и не запускать кучу разных, особенно противоположных операций (поставить индекс, убрать индекс, etc).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий