Да, выполнение одиночных вставок из Tcl в таблицу sql - не самый быстрый способ достичь желаемого.
Чтобы ускорить процесс, вы должны записать нужную таблицу во внешний файл и сохранить данные в
с одним оператором БД.
Вы бы записали данные так:
set fh [open temp_file w]
set rowid 0
# loop
puts $fh [join [list $value1 $value2 $value3 $value4] \t]
# end loop
close $fh
Затем, используя метод copy , вы можете прочитать все за один снимок:
db copy replace values temp_file
А что касается расчета суммы, я не знаю, почему вы не используете сам sql для суммирования. В Интернете есть много примеров того, как это сделать. Здесь являются a парой . Я полагаю, что ваше заявление SQL будет что-то вроде:
db select sum(x+y) from table
или, возможно,
db select sum(x+y) as z from table