与SQL一样,该查询在很大程度上与查询无关,不知道使用实际的架构。
您在Member.Phone上有索引吗?如果否,那么您编写查询的方式就没有关系,它们都将扫描整个表并执行相同的 *** 作(即执行不佳)。如果您
确实有索引, 那么编写查询的方式将带来所有不同:
SELECt * FROM Members WHERe Phone= @Phone;SELECt * FROM Members WHERe Phone= dbo.FormatPhone(@Phone);SELECt * FROM Members WHERe dbo.FormatPhone(Phone)=@Phone;
首先查询保证最佳,将在索引上寻找电话。
第二个查询取决于dbo.FormatPhone的特征。它可能会或可能不会使用最佳搜索。
上次查询保证是错误的。将扫描表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)