Outdated Version
You are viewing an older version of this section. View current production version.
TRUNCATE
Removes all rows from the table. TRUNCATE
is equivalent to running a DELETE
which removes all the rows from the table but without all the overhead of deleting one row at a time.
Syntax
TRUNCATE [TABLE] tbl_name
Remarks
- MemSQL supports online
TRUNCATE
, which means that you can read and write while the table is being truncated.TRUNCATE
on a sharded table is always executed online. Note that onlineTRUNCATE
will not begin truncating the table, but it will wait until all DML queries that were already running on the table finish. This allows any in-progress queries to complete execution before truncating the table, and ensures consistency of results from queries on the table since the time of execution ofTRUNCATE
. As soon as the in-progress reads and writes complete and theTRUNCATE
command begins truncating the table, new reads and writes will proceed as normal. This blocking period usually lasts on the order of milliseconds. - If you are running frequent
TRUNCATE
statements on a table and have a lot of long-running queries on that table, then your normal workload may experience some periods of delay since it blocks other queries from starting while it waits for completion of long-running queries. - This command must be run on the master aggregator node (see Node Requirements for MemSQL Commands).
Example
mysql> TRUNCATE TABLE mytbl;
Query OK, 1 row affected (6.32 sec)
Related Topics