Tarantool CE/EE Documentation portal logo
Support
Updated at July 17, 2026   02:08 PM

object prepared_table

prepared_table

execute([extra-parameters])

Execute a statement that has been prepared with box.prepare().

Parameter prepared_table should be the result from box.prepare().

Parameter extra-parameters should be an optional table to match placeholders or named parameters in the statement.

There are two ways to execute: with the method or with the statement id. That is, {prepared_table}:execute() and box.execute({prepared_table}.stmt_id) do the same thing.

Example: here is a test. This function inserts a million rows in a table using a prepared INSERT statement.

function f()  local p, start_time  box.execute([[DROP TABLE IF EXISTS t;]])  box.execute([[CREATE TABLE t (s1 INTEGER PRIMARY KEY);]])  start_time = os.time()  p = box.prepare([[INSERT INTO t VALUES (?);]])  for i=1,1000000 do p:execute({i}) end  p:unprepare()  end_time = os.time()  box.execute([[COMMIT;]])  print(end_time - start_time) -- elapsed timeendf()

Take note of the elapsed time. Now change the line with the loop to: for i=1,1000000 do box.execute([[INSERT INTO t VALUES (?);]], {i}) end
Run the function again, and take note of the elapsed time again. The function which executes the prepared statement will be about 15% faster, though of course this will vary depending on Tarantool version and environment.

unprepare()

Undo the result of an earlier box.prepare() request. This is equivalent to standard-SQL DEALLOCATE PREPARE.

Parameter prepared_table should be the result from box.prepare().

There are two ways to unprepare: with the method or with the statement id. That is, {prepared_table}:unprepare() and box.unprepare({prepared_table}.stmt_id) do the same thing.

Tarantool strongly recommends using unprepare as soon as the immediate objective (executing a prepared statement multiple times) is done, or whenever a prepared statement expires. There is no automatic eviction policy, although automatic unprepare will happen when the session disconnects (the session's prepared statements will be removed from the prepared-statement cache).