查询:(
Delete from test_table;
我在程序中使用此删除命令每天执行)
该表包含 2 列名称,如scenario_id、item_id,这 2 列是复合主键。所以每个scenario_id都会有200万个item_id,如何快速删除这个表。
删除表的最快方法可能是DROP TABLE test_table
命令,然后使用CREATE TABLE...
命令重新创建表。DROP TABLE...
将立即放下桌子。好吧,实际上它会将表格移动到回收站中。PURGE RECYCLEBIN
如果要完全删除表格,您应该这样做。
删除表中数据的其他方法是使用TRUNCATE TABLE...
. 这比 慢一点DROP TABLE...
,但是比 快得多DELETE FROM...
。由于截断表后无法回滚数据,因此在使用TRUNCATE TABLE
.
create new table as select * from old_table where ...
如果我们要删除超过 50% 的数据,那么简单地删除新旧数据并将新数据重命名为旧数据会快得多。exchanging
您可以通过分区表中的分区来实现类似的目标。