у меня возникло несколько вопросов по ней, не могли бы вы их мне разъяснить?
1. Операция INSERT. При работе с SQL я привык, что есть три основных режима записи данных: insert, update и upsert. При insert в базе обновляются только те строки, при записи которых не возникает конфликтов с уникальными ключами, при update - ровно наоборот, обновляются только уже существующие строки. При upsert же можно в какой-то мере управлять, каким образом будут записываться новые строки и обновляться старые. Операции update и upsert я нашел - но как быть с insert? Если во времы выполнения insert возникает конфликт, происходит ошибка. При этом, если, например, конфликт произошел на 3м элементе из 1000, если я правильно понял, остальные 997 даже попытки записать предпринято не будет. Как обойти это ограничение на записывая каждую строку отдельным запросом?
2. Чтение и Truncate. Вообще ограничение в чтение на 1000 строк выглядит для меня ново, но еще более непонятно для меня, почему в API для Python по умолчанию при чтении более чем 1000 строк возникает ошибка? Почему это нужно включать отдельно с помощью настроек? Использования флага truncate и чтение данных при помощи LIMIT и OFFSET (что-то вроде курсора) не является предпочтительным решением? А что является? Предварительный запрос на подсчет строк?
Заранее большое спасибо за ответы!
Попробуйте спросить в чате YDB: https://t.me/yandexdatabase_ru
Чат переехал в https://t.me/ydb_ru
Обсуждают сегодня