为什么性能之间存在差异?

Big*_*mes 1 sql t-sql sql-server performance

首先,是的,这是作业,我一直在努力阅读和理解.什么都没说,为什么一个更好或更坏.无论如何,在使用Adventureworks数据库的SQL Server中,运行以下3个查询:

USE AdventureWorks2012; 
GO 
--1 
SELECT LastName
FROM Person.Person 
WHERE LastName = 'Smith'; 
--2 
SELECT LastName 
FROM Person.Person 
WHERE LastName LIKE 'Sm%'; 
--3 
SELECT LastName 
FROM Person.Person 
WHERE LastName LIKE '%mith';
Run Code Online (Sandbox Code Playgroud)

LastName是NonClustered索引.为什么查询1和2执行相同而查询3的执行情况比前2个差得多?

zer*_*kms 8

打开按姓氏排序的电话簿

  1. 查找所有"史密斯"

  2. 查找姓氏以"Sm"开头的所有人

  3. 查找姓氏以"mith"结尾的所有人

你现在看到了吗?