关于mysql查询效率

line365 发布于 2012/08/22 11:19
阅读 322
收藏 0

如果表主键是id  字段fa 和fb 也能定位到唯一记录 

select * from table where id=111 and fa='dd' and fb='cc'

select * from table where fa='dd' and fb='cc' 

虽然查询结果相同 是不是第一条查询效率要高?

 

加载中
0
红薯
红薯
第一条的后两个条件有点多余吧,既然已经是主键了
0
l
line365

引用来自“红薯”的答案

第一条的后两个条件有点多余吧,既然已经是主键了
嗯 是的 主要是为了安全 才加上的 
l
line365
主键是提交过来的参数额。如果没有后面的限定 就不知道有没有操作权限。防止同一级别的用户 模拟提交 互相操作
mahone
mahone
都主键了,我觉得可以了。你再加上后面2个条件有点多余。如果这样都出问题,估计你的数据库已经完全乱了。。。
0
磊神Ray
磊神Ray

显然第一条效率高,区别在于条件为索引列

0
八宝旗
八宝旗

fa、fb上是否有联合索引

1、没有索引。差别特别大,第一条是O(1),第二条需要进行全表扫描O(n)

2、有唯一索引。差别不是特别大,但还是有差别,第一条是O(1),第二条O(1)*2

 

能用主键查询的尽量用主键查

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部