Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонятное поведение auto_increment 
V
    Опции темы
Zloxa
Дата 11.11.2010, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(HeliosArt @  11.11.2010,  17:06 Найти цитируемый пост)
Только при этом логика разработчиков мне все равно не ясна: если уж AUTO-INC lock висит на таблице до завершения всего statement'а и в ходе запроса новые значения выделяются row-by-row, 

Ну, если еще пороешь, то может и нароешь, что для бульков лок отпускается  и, возможно, перезахватывается по мере нужды smile
Иначе, действительно, такая логика была бы странна.
Делалость то с целью оптимизации. А оптимизация зачастую требует в качестве жертвы пренебрежения фундаментальными правилами.

Вообще радует, что в документации о том чтото сказано. Хоть и прикопано основательно. Я был о масиной документации худшего мнения ;)



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
HeliosArt
Дата 11.11.2010, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 10.2.2008

Репутация: 1
Всего: 2



Так в том-то и суть, что не отпускается.

Отпускают его только в interleaved(innodb_autoinc_lock_mode = 2), но там о разрывах и непоследовательности значений предупреждают сразу.

В остальных же режимах:

traditional (innodb_autoinc_lock_mode = 0):
    лок висит до конца при любой вставке

consecutive (innodb_autoinc_lock_mode = 1, стоит по умолчанию):
    при bulk-insert лок висит до конца, но для простых вставок вместо него используется mutex и таблица не блокируется вовсе
PM MAIL WWW ICQ Skype Jabber   Вверх
Zloxa
Дата 11.11.2010, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Проверить есть возможность?
Пустить какуюнить бульку минут на десять, и, тем временем, попытаться вставиться другой сессией?

Добавлено через 2 минуты и 1 секунду
правда надо еще как то убедиться что на той самой блокировке стоим..... а то мало ли на каком еще локе постоять доведется....


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
HeliosArt
Дата 11.11.2010, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 10.2.2008

Репутация: 1
Всего: 2



Проверил в режиме consecutive: запустил 2 параллельных bulk-insert'а, первым более тяжелый, вторым попроще. В результате второй выполнился только после того, как был полностью закончен первый.

Причем в это время SHOW ENGINE INNODB STATUS по второму запросу показывал следующее:

Цитата

TABLE LOCK table `mydb`.`test_new` trx id F56C lock mode AUTO-INC waiting


То есть лок висит до конца, как и описано в документации
PM MAIL WWW ICQ Skype Jabber   Вверх
Zloxa
Дата 11.11.2010, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Премило.
Спасибо

Добавлено через 2 минуты и 6 секунд
я бы тот что попроще пускал не булком... чтоб совсем просто... ну да ладно. Это очень интересный результат. Еще раз спасибо.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.