在 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,''), '&amp;','&'),32766) AS [Industry Addresses]

提前致谢。

问候,

Netra SW.

【问题讨论】:

【参考方案1】:

两件事。首先,从子查询中删除 GROUP BY -- 除非您知道您有重复项(这将是字符串)。

其次,在#TempIndustryAddress(industrycode, LevelPath)上添加索引。

【讨论】:

感谢您的回复。在#TempIndustryAddress 中,我们正在执行插入和删除操作。我们尝试在其上添加索引。但它会降低查询的性能。

以上是关于在 sql 中获取 24K 记录和内容的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

在MongoDB集合中获取第一个插入记录的最佳方法

在 sql 查询中使用 not in 时优化此 SQL 语句的最佳方法是啥?

Rails获取上一个和下一个活动记录对象的最佳方法

记录之间的 SQL Server 日期时间范围

通过 OleDbConnection 获取单个记录的最佳方法是啥?

将 100,000 条记录从 PL/SQL 程序输出到 XML 文件的最佳方法