繁体   English   中英

Peewee:限制删除

[英]Peewee: delete with limit

我有一个(非常)大表mit> 100M行。 我想删除某些情况下的1M行,而不用运行任何表锁或超时问题。 在这种情况下,IMO限制删除是最好的选择。 我正在尝试为一个简单的SQL查询找到一个等价的peewee

DELETE FROM users WHERE condition=1 LIMIT 10

我的第一种方法是:

Users.delete().where(condition=10).limit(10)

但DeleteQuery没有限制方法。 糟糕!

那么,什么是删除带有peewee的行的最佳实践呢?

如果要删除限制,则只需使用子查询:

users_to_delete = User.select().where(...).limit(10)
Users.delete().where(User.id << users_to_delete)

SQL不支持LIMIT。 因此,不行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM