[英]SQL Server: Can a Clustered, Non-Unique Index Improve Performance if I'm always reading “clustered” rows?
[英]Can I improve excel to sql powerquery performance? I'm using named range parameters instead of cell values?
這是我的第一篇文章,所以我希望我的問題能通過 OK 解決。
我在 excel 中設計了一個產品配置器應用程序。 使用一系列下拉菜單和用戶表單,我可以構建我的產品外觀的基本正面圖,同時還導出將構成產品的子組件名稱列表。 可以在隱藏的工作表上查看此子裝配列表。 組成產品可能需要 200 多個這些。
(例如,我的產品最多可以由 16 個部分組成。每個部分可以有 15 個不同的子組件。所以我的完整產品可以有大約 240 個不同子組件的組合,具體取決於具體要求。)
我在存儲子組件的子組件工作表上命名了單元格。 此子程序集名稱是動態的,具體取決於配置器中的選擇。
(例如,單元名稱 - ARE_Section01 單元中的動態子組件名稱 - AU_ARE_36_36_GA11_AL3_X_13_3__ANSI_61_ 或 AU_ARE_22_36_GA11_GA11_R_13_3__ANSI_61_ 或 AU_ARE_22_31_GA11_或 AU_ARE_22_31_GA11_1_GA3_1_3_1_1_1_GA3_1_3_1_1_1_63
為了構建頂級材料清單,我從 SQL Server 中提取信息,其中每個可能的子組件(其中超過 700 個)都有一個表。 使用 PowerQuery,我對上面提到的 16 個部分中的每一個的 15 個子程序集都有一個查詢。 在這些查詢中,我使用了一個查看相關命名單元格值而不是硬編碼值的參數。 這意味着我將只有 240 個查詢而不是 700+。
(例如,讓 Source = Sql.Database("x_BJMCC\\SQLEXPRESS", "AMX"), dbo_AU_ARE_22_36_GA11_GA11_R_13_3__ANSI_61_ = Source{[Schema="dbo",Item= GetValue("ARE_Section01") ]}[Data_2_AU_1GA1_GA11_GA11_GA11_GA11_136_16_1_2_AU_1_GA11_GA1_16_16_1GA_16_AMX_10_16_16_16_16_16_11_aMX
然后我對附加所有相關子程序集的 16 個部分中的每一個都有一個查詢。 然后我有一個頂級面板查詢,它附加了所有部分查詢。
我希望到目前為止我已經正確解釋了這一點......
我的問題是這個...
當我將程序集名稱硬編碼到查詢中時,信息會很快從 SQL 中提取出來。 但是當我使用參數(如上)時,它的速度要慢得多。
有沒有人對我如何提高性能有任何提示?
我猜,問題出在你的 GetValue 函數上。 例如,使用 Ken Puls 的fnGetParameter函數不會破壞查詢折疊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.