暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB SQL中的DELETE使用规范说明

db_user 2023-10-27
344

1、不支持DELETE语句中使用LIMIT。应使用WHERE条件明确需要更新的目标行。


2、在GMT-FREE模式下,不允许跨节点事务,因此删除HASH分布表中数据时,必须在WHERE条件中指定分布列等值过滤条件。


3、不支持多表删除。多表删除即在单条SQL语句中,对多个表进行删除。


4、DELETE语句中必须有WHERE子句,避免全表扫描。


5、DELETE语句中禁止不应使用ORDER BY、GROUP BY子句,避免不必要的排序。


6、如果需要清空一张表,建议使用TRUNCATE,而不是DELETE。

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


7、DELETE有主键或索引的表,WHERE条件应结合主键或索引,提高执行效率。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论