在数据库中如果存在隐式转换的话会导致索引不能使用,因而影响到性能
隐式转换在执行,执行计划的时候会自动的进行转换,在数据库中的字符都是有优先权和高低级区分的,假如说数据库中是varchar,那么传进来的参数如果是nvarchar的话就会把数据库中的低等级换成nvarchar这种高等级的,其他的都是相同的,都会把低等级换成高等级的,方便使用
①它与查询中的筛选无关
②它与条件(where)中的筛选有关
那么在很多的情况下是不能使用索引的:
①本身就没有索引,也就不存在使用索引
②数据库如果是函数的话,也是无法使用函数的如:year
③数据库中如果存在算法的话,也是无法使用索引的如:name + 1=2
④你% 可以用索引,%你 不可以用索引,%你%不可以用索引
⑤再就是索引老化,语句代码,执行计划,等