Очень (ОЧЕНЬ!) медленные INSERT'ы.

 
+
-
edit
 

KRoN73
Balancer

администратор
★★★★★
Linux mysql оптимизация
Значит так, сперва дисклеймер. Жирная система, хорошо (смею надеяться) настроенный MySQL-сервер, который обеспечивает тысячи INSERT'ов в секунду на таблицах с миллионами записей. Прекрасно работают и InnoDB, и MyISAM. Никаких нареканий.

Но!

Собственно проблема.

Есть простенькие таблицы, вида:
code text
  1. CREATE TABLE `warnings` (
 
+
-
edit
 

Luchnik

аксакал
★☆
Триггеров нет на вставку ?
А можешь сопоставить с другой таблицей аналогичного размера записи и кол-ва записей на той же БД ? Ибо если и тут будут тормоза, то значит, что нужно оптимизировать что-то. У меня на той неделе клиент сделал дефрагментацию HD на которой БД лежала - скорость некоторых операций с базой выросла на 15-20%.
 
Это сообщение редактировалось 18.11.2010 в 06:53
+
-
edit
 

Mishka

модератор
★★★

12 индексов всего... У тебя как индексы представлены? B-Tree, хэши, бит мапы или что-то другое? Чтение быстрое из индексов. А вот вставка замедялется на порядок.
 3.6.113.6.11
+
-
edit
 
+
-
edit
 

Balancer

администратор
★★★★★
Вообще, вроде бы, проблему удалось решить. Хотя и непонятно почему так: Форум - General - [mysql][оптимизация] Очень (ОЧЕНЬ!) медленные INSERT'ы.

Luchnik> Триггеров нет на вставку ?

Даже внешних индексов нет (в данном случае). Всё очень примитивно. И работает в других подобных случаях.

Luchnik> А можешь сопоставить с другой таблицей аналогичного размера записи и кол-ва записей на той же БД ?

Прикол в том, что есть очень схожие по структуре и методам работы таблицы. Штрафы форума, избранное, голоса за сообщения. Голоса работают без тормозов. Избранное и штрафы - с тормозами.

Luchnik> У меня на той неделе клиент сделал дефрагментацию HD

Явно не тот случай. У нас 16Гб, мало того, что вся база в кеш влезает, так ещё и вся система со всеми библиотеками :)
 3.6.123.6.12
+
-
edit
 

Balancer

администратор
★★★★★
Mishka> 12 индексов всего... У тебя как индексы представлены? B-Tree, хэши, бит мапы или что-то другое? Чтение быстрое из индексов. А вот вставка замедялется на порядок.

Индексы я потом добавлял, когда была (неверная) мимолётно-помутнённая мысль, что проблема может быть связана с поиском коллизий при вставке по IGNORE. Потом только сообразил, что это реакция на уже обнаруженную коллизию и её не нужно искать. Но от добавления индексов ни хуже, ни лучше не стало.
 3.6.123.6.12

+
-
edit
 

Balancer

администратор
★★★★★
MySQL грабли репликация
На всякий случай делюсь граблями. Не используйте при репликации изменение имени БД (replicate-rewrite-db). MySQL не подменяет имя БД во многих запросах (я, например, наступил на грабли ALTER TABLE ... ADD CONSTRAINT REFERENCES `DB-NAME`.`TABLE-NAME` ...) — вот на этом REFERENCES слейв и вылетал. Учитывая 2Гб объём и то, что с целью экспериментов репликацию с нуля пришлось поднимать трижды, сегодня часа два убил, пока разобрался. Пришлось на реплике имя БД делать такое же, как на мастере. Сейчас поднимается в 4-й раз :)

// Транслировано с juick.com
 

Последние действия над темой

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru