在 sql 中获取 24K 记录和内容的最佳方法
Posted
技术标签:
【中文标题】在 sql 中获取 24K 记录和内容的最佳方法【英文标题】:Best way to fetch 24K records and stuff in sql 【发布时间】:2019-03-14 12:12:10 【问题描述】:我有查询获取行业 xyz 的地址。其中有大约 24K 条记录。并且这些必须以Level1->Level2->Level3->Level4->Level5->Level6格式显示在Excel工作表的一列中。
执行时间超过 30 分钟。
Select Left(REPLACE(STUFF(
(
SELECT Char(10) + LevelPath
FROM #TempIndustryAddress ubu WITH (NOLOCK)
WHERE LevelPath<> ''
AND industrycode= ubu.industrycode
GROUP BY LevelPath
FOR XML PATH('')
)
,1,1,''), '&','&'),32766) AS [Industry Addresses]
提前致谢。
问候,
Netra SW.
【问题讨论】:
【参考方案1】:两件事。首先,从子查询中删除 GROUP BY
-- 除非您知道您有重复项(这将是字符串)。
其次,在#TempIndustryAddress(industrycode, LevelPath)
上添加索引。
【讨论】:
感谢您的回复。在#TempIndustryAddress 中,我们正在执行插入和删除操作。我们尝试在其上添加索引。但它会降低查询的性能。以上是关于在 sql 中获取 24K 记录和内容的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
在 sql 查询中使用 not in 时优化此 SQL 语句的最佳方法是啥?