
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.06.2014, 15:04:49
|
|||
|---|---|---|---|
атомарный апдейт |
|||
|
#18+
зачастую возникает необходимость заполнить какой-то определенный столбец в таблице новыми данными, с одной стороны никаких проблем написать UPDATE запрос не возникает, но если таблица очень большая, то этот запрос на долго может залочить данные, что недопустимо. Можно, конечно, написать скрипт на каком-то ЯП или ту же функцию/процедуру в самом мускуле, но все это имеет лишний "геморрой". Может есть какой-то способ делать это проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 15:10:16
|
|||
|---|---|---|---|
атомарный апдейт |
|||
|
#18+
Нет, либо апдейтить все целиком, либо в цикле блоками, другого варианта нет, насколько я понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 15:27:21
|
|||
|---|---|---|---|
атомарный апдейт |
|||
|
#18+
ну так innodb же многоверсионный и не лочит данные. в чем конкретно проблема ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 15:30:06
|
|||
|---|---|---|---|
атомарный апдейт |
|||
|
#18+
netwindну так innodb же многоверсионный и не лочит данные. в чем конкретно проблема ?Так если нужно проапдейтить все записи, то все записи и будут залоченными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 15:38:01
|
|||
|---|---|---|---|
атомарный апдейт |
|||
|
#18+
netwindну так innodb же многоверсионный и не лочит данные. в чем конкретно проблема ? Все равно же будет транзакция и она будет долгая... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 16:35:26
|
|||
|---|---|---|---|
атомарный апдейт |
|||
|
#18+
если делать апдейт большого кол-ва записей по частям, при помощи нескольких апдейтов - то атомарными будут только "куски" которые апдейтятся одной командой. А результирующий апдейт получится неатомарным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 17:29:13
|
|||
|---|---|---|---|
атомарный апдейт |
|||
|
#18+
chabapokесли делать апдейт большого кол-ва записей по частям, при помощи нескольких апдейтов - то атомарными будут только "куски" которые апдейтятся одной командой. А результирующий апдейт получится неатомарным. ну да, не правильно я выразился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 18:17:29
|
|||
|---|---|---|---|
|
|||
атомарный апдейт |
|||
|
#18+
Hettchabapokесли делать апдейт большого кол-ва записей по частям, при помощи нескольких апдейтов - то атомарными будут только "куски" которые апдейтятся одной командой. А результирующий апдейт получится неатомарным. ну да, не правильно я выразился у меня храниться дерево в таблице по принципу ссылка на папу. удаление проиходит каскадно. а вот потомки узлов дерева, так как при удалении большей ветки ...этих потомков может статься на мильойны, а при удалении, тригером формируеться ещо одна таблица и апдейт происходит в другой, то событие в цикле удаляет по Н штук. и вот дабы избегать локов так и сделал. ЗЫ под вставкой понимаеться insert on duplicate key update, причом в большинстве случаев будет таки апдейт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 18:21:25
|
|||
|---|---|---|---|
атомарный апдейт |
|||
|
#18+
автору меня храниться дерево в таблице по принципу ссылка на папу. удаление проиходит каскадно. а вот потомки узлов дерева, так как при удалении большей ветки ...этих потомков может статься на мильойны, а при удалении, тригером формируеться ещо одна таблица и апдейт происходит в другой, то событие в цикле удаляет по Н штук. и вот дабы избегать локов так и сделал. запомните это дети, и больше так не делайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2014, 18:33:48
|
|||
|---|---|---|---|
|
|||
атомарный апдейт |
|||
|
#18+
ScareCrowавтору меня храниться дерево в таблице по принципу ссылка на папу. удаление проиходит каскадно. а вот потомки узлов дерева, так как при удалении большей ветки ...этих потомков может статься на мильойны, а при удалении, тригером формируеться ещо одна таблица и апдейт происходит в другой, то событие в цикле удаляет по Н штук. и вот дабы избегать локов так и сделал. запомните это дети, и больше так не делайте. давай, расказывай как хранить в реляционной базе дерево правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1834708]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
7ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 352ms |

| 0 / 0 |
