首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 执行速度的有关问题

2013-10-05 
sql 执行速度的问题语句1:SELECT * FROM V_frmMacSpeed_List WHERE macCodemac602 ORDER BY ClassSort

sql 执行速度的问题
语句1:
SELECT * FROM V_frmMacSpeed_List WHERE macCode='mac602' ORDER BY ClassSort ASC,Spec ASC,MacSort ASC
语句2:
SELECT * FROM V_frmMacSpeed_List WHERE charindex(macCode,'mac602')=1 ORDER BY ClassSort ASC,Spec ASC,MacSort ASC
--------------------------------
以我的判断是语句1:比语句2:执行快,但执行结果却是:
语句1:超时
语句2:几毫秒就加载完成,
数据总共有2000多条。
-----------------
V_frmMacSpeed_List 是一个视图。 SQL
[解决办法]

引用:
Quote: 引用:

还需要看看这个视图的代码是怎么写的

2个查询语句,就where后面的一个是用=一个是用charindex,查询结构都是一样的,只是用了不同方法。为什么还要看视图结构?请您仔细看一下问题

如果是表的话,不用考虑。
视图的话,查询优化器可能根据视图的代码,产生截然不同的执行计划。
视图也是sql语句。你通过试图隐藏了很大一部分sql,然后单独看where条件,来比较性能。貌似不太可取

热点排行