理解mysql

理解mysql,mysql,database,Mysql,Database,我有一个mysql select查询,条件如下: Select... FROM ... ... AND c.deleted != '1' 在表中,删除='0'的记录总是多于删除='1'的记录 所以我想知道哪个更快: AND c.deleted != '1' 或 或者它们是一样的?它们大致相同 mysql必须分析每一行,以确定c.deleted的值,除非该字段被索引。如果字段被索引,相等性测试将更快,但可能不会太快。您始终可以运行一些测试来自行确定。这似乎更适合codereview.stack

我有一个mysql select查询,条件如下:

Select...
FROM ...
...
AND c.deleted != '1'
在表中,删除='0'的记录总是多于删除='1'的记录

所以我想知道哪个更快:

AND c.deleted != '1'


或者它们是一样的?

它们大致相同


mysql必须分析每一行,以确定
c.deleted
的值,除非该字段被索引。如果字段被索引,相等性测试将更快,但可能不会太快。您始终可以运行一些测试来自行确定。

这似乎更适合codereview.stackexchange.com。您还可以运行这两个查询并查看执行时间,以查看哪个更快。我的猜测是,它可以忽略不计。在我看来,无论速度如何,对于下一个需要查看和使用代码的人来说,equals条件都更容易阅读和理解。在SQL中,它是一个等号,顺便说一下,不是2。
AND c.deleted = '0'