sql - SQL Pivot 在 26500 和 2650 之间需要显着的时间差异
问题描述
我一直在试验 EAV 表及其在允许动态数量的属性方面的有效性。在我的实验中,我发现要旋转的 EAV 表中超过 26500 行会导致旋转时间发生巨大变化。我很好奇为什么会这样,以及有什么方法可以加速这个枢纽过程。
下面是显示查询和执行计划更改的图像。
25600 行:
SELECT *
FROM (
SELECT TOP (25600) *
FROM _EAV_Data )
AS SourceTable PIVOT( MIN([Value]) FOR Atribute IN(/*<Atributes>*/)) AS P
25601行:
SELECT *
FROM (
SELECT TOP (25601) *
FROM _EAV_Data )
AS SourceTable PIVOT( MIN([Value]) FOR Atribute IN(/*<Atributes>*/)) AS P
解决方案
推荐阅读
- php - 来自 Windows 的远程 MariaDB 连接:未捕获的 PDOException:数据包乱序。预期 0 收到 1. 数据包大小=71
- .net - 有没有办法使用 Github Actions 构建本机 .NET
- r - 如何使用 R 创建安全的 API?
- python - 如何改进此 pandas 数据转换以提高效率?
- html - 为什么我的 CSS 样式在上传到 GitHub 页面后不能应用于我的 HTML?
- mql4 - MQL4 让这个 MACD 检测背离
- android - 为什么我的 Node.js 服务器只连接我的桌面应用程序而不连接其他东西(模拟器、apk)?
- javascript - Lottie Animation JSON 找不到颜色
- python - Web驱动程序Selenium python如何处理浏览器或应用程序可能不是安全问题?
- mysql - Debezium - 自定义负载 - MySQL 连接器