有谁能解释一下这种情况:
之前:一个视图里面的含一个bit类型的字段IsCollege,当查询条件含IsNdCollege=1时速度非常慢,(数据表大约4000条,IsCollege=1的记录大约170)
现在:在视图里面将bit类型转换为int类型:cast(t1.IsCollege as int) as IsCollege
查询速度明显快多了
补充:没有对IsCollege字段建索引 sql server 2005

解决方案 »

  1.   

    不是很清楚。。
    你试试IsNdCollege=true是快还是慢?
    如果变快了,说明从int 1=>bit true 浪费了点性能
      

  2.   

    发现有个地方写错了:IsNdCollege=1 应该是IsCollege=1
      

  3.   

    IsCollege='true' 试过了,还是一样慢
      

  4.   

    难道是因为隐式的转换在里面,sql默认的类型是int,IsNdCollege=1 存在一个转换的过程吧
    而int类型是则没有转换。。
      

  5.   

    试试
    IsNdCollege='true' 快不?
      

  6.   

    IsCollege='true' 试过了,还是一样慢
      

  7.   

    难道是因为隐式的转换在里面,sql默认的类型是int,IsNdCollege=1 存在一个转换的过程吧
    而int类型是则没有转换。。我有点赞成这个说法