Использование функции set_auto_commit() GridDB
В некоторых местах документации GridDB функция автоматической фиксации отключена, и вместо нее есть ручные фиксации. Мне не удалось найти объяснения такому поведению. Кажется, что его нужно отключить при удалении строки из контейнера GridDB, но не, например, при добавлении строки. В последнем случае, похоже, нет большой разницы между тем, активен он или нет. Хотя, конечно, нужно хотя бы один раз выполнить фиксацию вручную, если она отключена, чтобы изменения действительно отражались в базе данных.
Итак, что именно делает автоматическая фиксация, когда она автоматически фиксирует изменения? Когда есть необходимость или преимущества отключения автоматической фиксации?
Я говорю о следующих функциях:
Джава:col.setAutoCommit(false); col.commit();
PHP:col->set_auto_commit(false); col->commit();
1 ответ
Автоматическая фиксация позволяет GridDB определять, когда лучше всего выполнять фиксацию, что обеспечивает хорошую производительность, но также позволяет другим клиентам извлекать устаревшие данные.
Я отключаю автоматическую фиксацию и фиксирую вручную каждый раз для отдельной записи или любого числа удалений или обновлений, но оставляю автоматическую фиксацию включенной при записи потока данных.