更新时间:2024-01-12 GMT+08:00
分享

DELETE

  • 不支持DELETE语句中使用LIMIT。应使用WHERE条件明确需要更新的目标行。
  • 在GMT-FREE模式下,不允许跨节点事务,因此删除HASH分布表中数据时,必须在WHERE条件中指定分布列等值过滤条件。
  • 不支持多表删除。

    多表删除即在单条SQL语句中,对多个表进行删除。

  • DELETE语句中必须有WHERE子句,避免全表扫描。
  • DELETE语句中禁止不应使用ORDER BY、GROUP BY子句,避免不必要的排序。
  • 如果需要清空一张表,建议使用TRUNCATE,而不是DELETE。

    TRUNCATE会创建新的物理文件,并在事务结束时将原文件物理删除,清空磁盘空间。而DELETE会将表中数据进行标记,直到VACUUM FULL阶段才会真正清理磁盘空间。

  • DELETE有主键或索引的表,WHERE条件应结合主键或索引,提高执行效率。
分享:

    相关文档

    相关产品