高效的SQL查询,其中列等于另一列

时间:2016-04-04 23:58:36

标签: mysql sql

搜索高效(即使用索引)MySQL查询,用于选择给定行中一列值的行等于同一行中另一列的值,即:

SELECT row_id FROM mytable WHERE row_id=some_id

row_id是PRIMARY索引。 some_id有自己独立的非唯一索引。有没有办法在不需要进行全表扫描的情况下执行此操作?

[澄清/编辑]

row_idsome_id属于同一类型unsigned int。每个都是一列,每个都有一个索引,虽然row_id是唯一的,some_id可能不是。

1 个答案:

答案 0 :(得分:0)

row_idsome_id都是列,对吗?我不认为有一种方法可以保证不需要全表扫描,即使有索引(例如,考虑两列都是成对唯一的)。在这种情况下,AFAIK你的索引会提高性能,(二进制搜索查找意味着个人比较会更快),但不会绕过全表扫描。

相关问题