gpt4 book ai didi

sql - 此查询的性能调整?

转载 作者:搜寻专家 更新时间:2023-10-30 20:18:03 24 4
gpt4 key购买 nike

我有以下查询来支持按员工姓名排序的员工分页

SELECT rowNumAlias
,Employee.employeeId
,Employee.NAME
FROM (
SELECT row_number() OVER (
ORDER BY Employee.NAME ASC
) rowNumAlias
,employeeId
,NAME
FROM Employee
) employeeData
INNER JOIN Employee ON Employee.employeeId = employeeData.employeeId
WHERE rowNumAlias BETWEEN ? AND ?

其中参数 rowNumAlias 可以是 1 到 100 之间的任意整数

这个查询在我有 100 万条记录的 sql server 数据库上花费了大约 7 秒。 有什么方法可以最大限度地减少查询执行时间?

最佳答案

你可以这样尝试:

SELECT * FROM (
SELECT (SELECT row_number() OVER (ORDER BY e2.NAME ASC) FROM Employee e2 WHERE Employee.employeeId = E2.employeeId) rowNumAlias,
,Employee.employeeId
,Employee.NAME
FROM Employee
) e3 WHERE e3.rowNumAlias BETWEEN ? AND ?

关于sql - 此查询的性能调整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25970467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com