23.02.2010, 17:53 | #1 |
Участник
|
RecordInsertList и validatewrite
Когда просто вставляешь запись , то перед insert обычно вызывается validateWrite. как вызвать validatewrite для RecordInsertList ? В стандарте везде просто вставка, без доп проверок. Можно вызвать прямо на буфере validatewrite перед добавлением в RecordInsertList , но в стандарте так не делают(может, потому, что проверка может зависеть от того, вставлены другие записи в базу уже или нет).
Проясните , плз. |
|
23.02.2010, 19:12 | #2 |
Боец
|
RecordInsertList вставляет накопленные в себе записи в БД одной транзакцией (если не перекрыт insert() || !buffer.skipTableMethods()) - отсюда быстрая скорость вставки, отсюда о проверке validateWrite() не может быть и речи. Если проверять прямо на буфере validatewrite перед добавлением в RecordInsertList, то мы потеряем скоростное преимущество RecordInsertList, но с т.з. целостности данных (что важнее) будет правильно.
Цитата:
Когда просто вставляешь запись , то перед insert обычно вызывается validateWrite
забывается. Т.е. правильно было бы сказать "Когда просто вставляешь запись , то перед insert |
|
23.02.2010, 19:27 | #3 |
Участник
|
вставка не только в одной транзакции, а значительно уменьшается количество sql запросов вставки записей
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|