我的任务是优化SQL调用。我有查询:
SELECT * FROM bookmarks WHERE id = ? AND owner_id = ?
id是PK
owner_id是Index和FK
因为我已经有了ID。我是否需要AND owner_id = ?
子句?如果我使用查询,会降低查询速度吗?
可能不是。但是它没有优势。我希望甚至MySQL的优化器也足够聪明,可以在这种情况下使用主键索引。
但是,如果它确实不小心使用了外键索引,您可能不会注意到性能的差异。
它确实为第二次比较增加了非常非常非常少的开销。但这可能无法测量。