日期:2014-05-19  浏览次数:20499 次

用int做查询条件还是用Varchat做查询条件?哪个效率高?
现在在设计一个表,将来会有上千万条数据.
里面包含的列有   id,username(varchar(16)),userid(int),title,content
请问用下面两句效率相差多少
select   *   from   user   where   userid=20
select   *   from   user   where   username= 'test '

查询条件分别是int型和varchar型,用哪个做条件去查询比较好,效率相差多少呢?

------解决方案--------------------
搴旇銆€int濂
------解决方案--------------------
int好
------解决方案--------------------
不用说,自然是int的效率高

------解决方案--------------------
简单讲,int有多少个字节,varchar有多少个字节,基本上就是差距了。
------解决方案--------------------
感觉int 要好些
------解决方案--------------------
当然是int效率高,数据量越大效率越明显
------解决方案--------------------
int高是一定的呀,不过该用什么就用什么,速度的差别不用考虑太多
------解决方案--------------------
int效率高是肯定的。
不过建表更需要考虑设计的合理性,不要盲目的认为int效率高就都用int
有些情况guid还更合适呢。需要综合考虑。

varchar是个变长的字符串类型,不能和int相比(int一次匹配)。
根据varchar的长度索引树结构的层次不定,效率肯定是有差距的。