在其中一个Facebook群组中,有人问了一个问题:
假设我们有2个查询。
SELECT * FROM video WHERE video_id='45f54' AND video_type='youtube';
SELECT * FROM video WHERE video_type='youtube' AND video_id='45f54'
video_id
是一个索引字段。
这两个查询的效果有何不同?
有人在WHERE
子句更快之后回答了索引字段....但为什么呢?两个都不一样吗?
答案 0 :(得分:2)
假设表video
相同,那么这两个查询实际上是相同的,因为MySQL优化器将在内部处理WHERE条件。以下是一些指向类似问题的链接
对于优化,您可能希望考虑以下(如果尚未完成)
就个人而言,我会创建一个新表“video_types”(videotypeID SMALLINT UNSIGNED AUTO_INCREMENT,videotype VARCHAR)。这将使视频中的搜索可能更加优化,尽管它仍然依赖于数据。