我在MySQL中有一个队列系统,我希望" POP"最后一行并同时删除它。我有多个脚本可以从队列表中选择,因此它不能两次检索同一行。
是否有比SELECT
然后DELETING
ROW ID
更好的命令?
答案 0 :(得分:1)
简单回答:否:)
说明:您提到需要执行两项操作:
这需要两个查询才能进入您的数据库。 SELECT
运算符是您获取所需行的工具。当然,您如何使用SELECT
运算符并不重要。如果正在对未编制索引的列执行WHERE name = 'sam'
,则查询速度可能会受到影响。它所遭受的数量当然取决于数据库的大小,它可能是可以忽略的,但这就是为什么查询结束时的条件通常是在像PRIMARY KEY
这样的索引字段上执行的原因。 / p>
至于删除行,DELETE
是您拥有的唯一工具,我确信即使有另一个工具,它的效率也不会比使用DELETE
更好,因为我们开发SQL的亲爱的朋友们肯定会注意到效率的提高,并且DELETE
同样有效。