SQL Server在主键索引上的性能

时间:2019-02-28 11:25:16

标签: sql-server

面试中有人问我类似的问题

该公司在SQL Server中具有以下表格:

SalesHeader
    HeaderID INT PRIMARY KEY,
    CustomerID INT NOT NULL,
    SalesManagerID INT NOT NULL

SalesLine
    SalesID INT PRIMARY KEY,
    HeaderID INT NOT NULL,
    ProductID INT NOT NULL,
    ProductDiscount FLOAT NOT NULL

给出查询:

SELECT HeaderID FROM SalesHeader AS sh
WHERE 0.1 IN (SELECT ProductDiscount 
              FROM SalesLine AS sl 
              WHERE sh.HeaderID = sl.HeaderID)

问题与该查询的性能有关:在SalesLine表的主键索引上将进行多少次查找?

如果SalesHeader有10000行而SalesLine有15000行,答案是什么?又为什么呢?如果SalesLine有5000行怎么办?

0 个答案:

没有答案