मैं Azure एसक्यूएल डाटाबेस में एक v12 सर्वर का उपयोग कर रहा हूँ के साथ वर्तमान क्वेरी तेजी लाने के लिए, और मैं निम्न तालिका है:कैसे सूचकांक
CREATE TABLE [dbo].[AudienceNiches]( [Id] [bigint] IDENTITY(1,1) NOT NULL, [WebsiteId] [nvarchar](128) NOT NULL, [VisitorId] [nvarchar](128) NOT NULL, [VisitDate] [datetime] NOT NULL, [Interest] [nvarchar](50) NULL, [Gender] [float] NULL, [AgeFrom18To24] [float] NULL, [AgeFrom25To34] [float] NULL, [AgeFrom45To54] [float] NULL, [AgeFrom55To64] [float] NULL, [AgeFrom65Plus] [float] NULL, [AgeFrom35To44] [float] NULL, CONSTRAINT [PK_AudienceNiches] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) )
मैं इस क्वेरी को क्रियान्वित कर रहा हूँ: (अपडेट क्वेरी)
idx_WebsiteId_VisitDate_VisitorId idx_WebsiteId_VisitDate idx_VisitorId idx_Interest
`select a.interest, count(interest) from (
select visitorid, interest
from audienceNiches
WHERE WebsiteId = @websiteid
AND VisitDate >= @startdate
AND VisitDate <= @enddate
group by visitorid, interest) as a
group by a.interest`
और मैं निम्नलिखित indexs (सभी एएससी) है
समस्या यह है कि मेरी क्वेरी 18K पंक्तियों को aproximaly लौटाती है और 5 सेकंड लेती है, पूरी तालिका में 8.8M रिकॉर्ड होते हैं, और यदि मैं थोड़ा डेटा बढ़ाता हूं तो समय बहुत बढ़ जाता है, तो, इस क्वेरी के लिए सबसे अच्छा सूचकांक क्या होगा ? मुझे क्या याद आ रहा है
परिणामस्वरूप डेटा कैसा दिखने की उम्मीद है? मुझे यकीन नहीं है कि यदि आप VisitorID द्वारा समूहित कर रहे हैं तो कुल कार्य अधिक कैसे करते हैं। –
मैंने क्वेरी को अपडेट किया है, इसलिए कुछ और आसान हासिल किया जा सकता है, मैं प्रति रुचि चाहता हूं कि आगंतुकों की कुल संख्या –
वेबसाइट प्राथमिक प्राथमिक है ?? मुझे लगता है कि आप WebsiteId = @websiteid – User2012384