SSMS
 sql >> डेटाबेस >  >> Database Tools >> SSMS

SQL Azure पर क्वेरी इतनी धीमी क्यों चल रही है?

यह सबसे पहले और सबसे महत्वपूर्ण प्रदर्शन का सवाल है। आप अपनी ओर से खराब प्रदर्शन करने वाले कोड से निपट रहे हैं और आपको अड़चन की पहचान करनी चाहिए और उसका समाधान करना चाहिए। मैं खराब 2 सेकंड के बारे में बात कर रहा हूं अब प्रदर्शन। SQL सर्वर के प्रदर्शन का विश्लेषण कैसे करें, पर दिशानिर्देशों का पालन करें . एक बार जब आप इस क्वेरी को वेब ऐप (5 एमएस से कम) के लिए स्थानीय रूप से स्वीकार्य निष्पादित करने के लिए प्राप्त करते हैं तो आप इसे एज़ूर एसक्यूएल डीबी में पोर्ट करने का प्रश्न पूछ सकते हैं। अभी आपका परीक्षण खाता केवल मौजूदा अक्षमताओं को उजागर कर रहा है।

अपडेट के बाद

...
@iddepartment int
...
iddepartment='+convert(nvarchar(max),@iddepartment)+'
...

तो यह क्या है? iddepartmentहै कॉलम एक int या एक nvarchar ? और (max) . का उपयोग क्यों करें ?

यहाँ आपको क्या करना चाहिए:

  • पैरामीटर करें @iddepartment आंतरिक गतिशील एसक्यूएल में
  • करना बंद करें nvarchar(max) रूपांतरण। iddepartment बनाएं और @iddertment प्रकार मेल खाते हैं
  • iddepartment पर अनुक्रमणिका सुनिश्चित करें और सभी idkpi एस

यहां बताया गया है कि आंतरिक SQL को कैसे पैरामीटर किया जाए:

set @sql =N'
Select * from (
select kpiname, target, ivalues, convert(decimal(18,2),day(idate)) as iDay   
from kpi
inner join kpivalues on kpivalues.idkpi=kpi.idkpi
inner join kpitarget on kpitarget.idkpi=kpi.idkpi
inner join departmentbscs on departmentbscs.idkpi=kpi.idkpi
where [email protected]
group by kpiname,target, ivalues,idate)x
pivot
(
     avg(ivalues)
    for iDay in (' [email protected] + N')
) p'

execute sp_executesql @sql, N'@iddepartment INT', @iddepartment;

कवरिंग इंडेक्स, अब तक का सबसे महत्वपूर्ण फिक्स है। जाहिर है कि यहां मौजूद की तुलना में अधिक जानकारी की आवश्यकता है। पढ़ें डिजाइनिंग इंडेक्स सभी उप-अध्यायों सहित।

अधिक सामान्य टिप्पणी के रूप में:इस प्रकार की क्वेरी columnstores के लिए उपयुक्त हैं। रोस्टोर से अधिक, हालांकि मुझे लगता है कि डेटा का आकार मूल रूप से छोटा है। Azure SQL DB अद्यतन करने योग्य क्लस्टर्ड कॉलमस्टोर इंडेक्स का समर्थन करता है, आप गंभीर डेटा आकार की प्रत्याशा में इसके साथ प्रयोग कर सकते हैं। उन्हें स्थानीय बॉक्स पर एंटरप्राइज़/डेवलपमेंट की ज़रूरत है, सच है।



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. नाम से संग्रहीत कार्यविधि खोजें

  2. अल्पविराम से अलग किए गए मानों का विभाजन

  3. सभ्य सरल SQL सर्वर क्लाइंट

  4. एक्सएमएल के लिए वर्चर (अधिकतम) के लिए कास्ट करें

  5. पॉवरशेल सुरक्षित स्ट्रिंग रूपांतरण