【发布时间】:2020-01-14 15:39:33
【问题描述】:
我正在使用 (SELECT ROW_NUMBER() OVER (PARTITION BY ft.EmpID , dimdt.YEAR_NUMBER, dimdt.MONTH_OF_YEAR_NUMBER ORDER BY dimdt.Date DESC) row_number , 字段 1 .field2 .. ec 我的 ft 表有数百万行。我可以得到我想要的结果(每个员工的月末最近记录),但它非常慢,而不是非常慢。是否有任何替代方案或方法来优化性能?
谢谢
【问题讨论】:
-
您需要用您的数据库供应商(sql server、oracle 等)标记您的问题,添加整个查询,并添加一些示例数据以获得任何看似真实的答案。您可以简化问题的查询和欺骗数据,但请确保不要删除任何可能导致性能问题的重要内容(复杂的
where过滤器、排序等)。ROW_NUMBER本身速度很快,因此很难相信这是您的实际问题,也没有什么可以盲目建议代替它。
标签: sql