检查MySQL表是否为空:COUNT(*)为零与LIMIT(0,1)有结果?
这是一个关于与MySQL实现特别相关的效率的简单问题。 我只想检查一个表是否为空(如果它是空的,则使用默认数据填充它)。 最好是使用像SELECT COUNT(*) FROM 'table'
这样的语句,然后比较为0,还是最好做一个像SELECT 'id' FROM 'table' LIMIT 0,1
这样的语句,然后检查是否有结果被返回(结果集有下一个)?
虽然我正在为一个我正在开发的项目需要它,但我也对MySQL如何处理这两条语句感兴趣,以及人们似乎建议使用COUNT(*)
的原因是因为结果是缓存的还是实际通过行,并增加了一个计数,因为它在我看来会很直观。
做第二种方法或者只是exists
会更好。 具体而言,如下所示:
if exists (select id from table)
应该是做你想做的最快的方式。 你不需要这个limit
; SQL引擎为你处理。
顺便说一下,不要将标识符(表格和列名称)放在单引号中。
链接地址: http://www.djcxy.com/p/78571.html上一篇: Check if MySQL Table is empty: COUNT(*) is zero vs. LIMIT(0,1) has a result?
下一篇: How to detect minimum version of python that a script required