关于查询效率问题
select * from t_BOS_BlxxEntry where fbljg=1000
select * from t_BOS_BlxxEntry where right(fnumber,3)= '400 '
t_BOS_BlxxEntry 表中假设有上亿条记录,那么这两条查询语句的效率那个更高一些,要如何测试,fbljg=1000 是数值型,right(fnumber,3)= '400 '是字符型,由类似“100.211.400”这样的字符组成,只是这样的字符进行拆分查询。
------解决方案--------------------select * from t_BOS_BlxxEntry where fbljg=1000 快
数值型> 字符型
fbljg 加上索引就更快了~
------解决方案--------------------第一种快
------解决方案--------------------第一种快!查询时间差别??那要根据查询次数决定,做个测验,用函数:O(执行次数)
------解决方案--------------------如果 fbljg 为索引列,那么第一种快,第二中就改变了索引
------解决方案--------------------测试一下就知道,
这说不准哪个快,SQL处里字符串时的速度最快,不过这里有right函数就很难说了
还有就是你建的index也有关系的
------解决方案--------------------很明显第一种比较快,第二种还要多做一步
------解决方案--------------------后一种用不到索引,属于全表扫描.
还有sqlserver中字符串没数值型的快.