为什么要使用LIKE而不是' ='选择主键字段时

时间:2014-03-31 12:57:48

标签: sql sqlite primary-key

an online tutorial for bottle,一个使用Sqlite的基于python的Web框架中,我有兴趣看到主键为SELECT的所有SQL样本都使用LIKE而不是= SELECT * FROM foo WHERE foo_id LIKE '1'

这是一个简单的例子:

SELECT * FROM foo WHERE foo_id = 1

有没有理由这样做而不是简单地做:

{{1}}

2 个答案:

答案 0 :(得分:2)

由于id被宣布为INTEGER PRIMARY KEY,因此没有任何好处。实际上,它可能会慢一些,因为LIKE会导致表扫描,而不是使用主键索引。

答案 1 :(得分:2)

他们会产生相同的结果,但是' LIKE'一个人会表现得更糟。我做了一个简单的测试,这是执行计划

enter image description here

编辑:这是MSSQL,因为我使用的工具很方便,但结果在任何数据库中都是相同的