В настоящее время у меня есть модель, в которой необходимо выполнить большое количество вставок (не при запуске) в одну и ту же таблицу. В настоящее время я готовлю значения вставки, установленные внутри кода C ++, а затем вызываю хранимую процедуру вставки по отдельности.
, например
INSERT ... VALUES ('1','2')
INSERT ... VALUES ('3','4')
INSERT ... VALUES ('5','6')
Я хотел бы знать, возможно ли (используя VoltDB и клиент C ++):
1) Делаем объемные вставки
например, * +1008 *
INSERT ... VALUES ('1','2'), ('3','4'), ('5','6')
или
2) Передайте массив или строку, содержащую пользовательский разделитель, в хранимую процедуру, затем проанализируйте ее внутри и вызовите отдельные вставки внутри самой хранимой процедуры.
INSERT ... VALUES ('1,2|3,4|5,6') or similar
затем разбейте строку внутри процедуры.
Если это возможно, не могли бы вы указать мне пример или синтаксис API C ++, который бы облегчил реализацию? (например, зацикливание в хранимой процедуре для анализа строки и / или функций манипуляции со строками и т. д.)
Я хотел бы попробовать один из этих вариантов, чтобы проверить относительную производительность. Хотя я читал, что отдельные вставки должны быть достаточно быстрыми, я думаю, это может отличаться в зависимости от варианта использования.