什么是检查MySQL中行存在的最佳方法

时间:2014-02-10 16:02:18

标签: mysql sql mariadb sql-standards

我需要知道检查行的最佳方法是哪种方式:

没有专栏;只是一个数字:

SELECT 1 FROM users WHERE users.id = 1 LIMIT 1

使用列和数据库(users.id)

SELECT users.id FROM users WHERE users.id = 1 LIMIT 1

使用列而不使用数据库

SELECT id FROM users WHERE id = 1 LIMIT 1

所有领域(显然效率低下):

SELECT * FROM users WHERE users.id = 1 LIMIT 1

当使用句子“存在”时,建议使用句子“限制”吗?

限制示例:

SELECT products.* FROM products
WHERE EXISTS(
    SELECT 1 FROM users WHERE users.id = products.user LIMIT 1
)

无限制示例:

SELECT products.* FROM products
WHERE EXISTS(
    SELECT 1 FROM users WHERE users.id = products.user
)

谢谢!

1 个答案:

答案 0 :(得分:1)

我会这样做:

select count(*) records
from users
where id = 1

然后我会检查我的应用程序中的记录值。