![]() |
|
Модераторы: skyboy |
![]()
|
|
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Если использовать delayed(insert\update\delete), то пока он не выполнится, все остальные ждут.
Висяк получается. Может, в настройках что-то надо добавить? Это сообщение отредактировал(а) tishaishii - 28.7.2009, 17:51 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
а) таблицы какие ? MyISAM ?
б) Кто ждет? тот кто вызвал INSERT или остальные клиенты ? |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Таблицы MyISAM, ждали все. Теперь почему-то не ждут.
Вот началось такое: в таблице base1.t1 16000000 записей, выполняю запрос:
все ждут. |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
насколько я помню (могу ошибаться) в MyISAM insert приводит к блокировке всей таблицы, поэтому если он сам работает долго (например индексов нет), то таблица все это время будет залочена. |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Индексы есть.
Блокировка какой таблицы происходит? Из которой select, или в которую insert, или обе сразу? Добавлено @ 12:53 У меня блокируется как минимум на выборку как минимум из которой происходит выборка при конструкции insert delayed ignore into ... select ... from ... Это сообщение отредактировал(а) tishaishii - 12.8.2009, 12:54 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
по идее та, из которой выбирают - shared lock (т.е. читать из нее можно)
та, в которую вставляют - exclusive lock (т.е. с ней ничего делать нельзя) |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Идея ясна, но что делать, если это не так?
Может, где-то какие-то настройки есть, этому делу посвящённые? |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 3 Всего: 17 |
а сколько таблицы занимают?
может она очень большая? больше 10-30Гиг? |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
tishaishii, выясните как долго происходит insert когда нет другой нагрузки. Возможно у вас просто большая таблица =(
|
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Как-то оно само собой рассосалось, когда почистил таблицы.
Одна таблица около 6GB. Всего - 18гб. Так и что? У меня такой объём истории за два дня набегает. И что делать? |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
А в строках сколько было ? Не хранить столь интесивную историю в СУБД. - хранить в файлах. Или (!) посмотреть кто столько ее пишет, и уменьшить его болтливость. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |