के साथ डेटाबेस इंडेक्स प्रबंधित करने का सही तरीका मैं अपना आवेदन एंटिटी फ्रेमवर्क (मॉडल पहला सिद्धांत) के साथ बना रहा हूं। मैं अपने आवेदन के सभी डेटा को स्टोर करने के लिए एमएस एसक्यूएल सर्वर 2008 का भी उपयोग कर रहा हूं।एंटिटी फ्रेमवर्क
विकासशील मैं निम्नलिखित कोड है कुछ समय के बाद:
public partial class EventInfo
{
#region Primitive Properties
public virtual int Id
{
get;
set;
}
public virtual string EventName
{
get;
set;
}
public virtual string EventKey
{
get;
set;
}
public virtual System.DateTime DateStamp
{
get;
set;
}
#endregion
}
और दृश्य स्टूडियो डेटाबेस डिजाइनर एसक्यूएल कोड का विशेष हिस्सा बनाया है डेटाबेस के लिए इस इकाई को मैप करने के:
-- Creating table 'EventInfoSet'
CREATE TABLE [dbo].[EventInfoSet] (
[Id] int IDENTITY(1,1) NOT NULL,
[EventName] nvarchar(max) NOT NULL,
[EventKey] nchar(32) NOT NULL,
[DateStamp] datetime NOT NULL
);
और बेशक, आईडी संपत्ति के लिए एक सूचकांक
-- Creating primary key on [Id] in table 'EventInfoSet'
ALTER TABLE [dbo].[EventInfoSet]
ADD CONSTRAINT [PK_EventInfoSet]
PRIMARY KEY CLUSTERED ([Id] ASC);
EventKey स्ट्रिंग है, और वास्तव में मैं इसे md5 हैश (स्ट्रिंग प्रस्तुति में) स्टोर करने के लिए उपयोग करता हूं। लेकिन बात यह है कि अपने मुख्य कोड की तरह लग रहा है:
int cnt = context.EventInfoSet.Where(e => e.EventKey == eventKey).Count();
और
int cnt = context.EventInfoSet.Where(e => e.EventKey == eventKey && e.DateStamp >= dateFrom && e.DateStamp < dateTo).Count();
eventKey यहाँ एक स्ट्रिंग चर रहा है। जैसा कि आप देख सकते हैं, मैं अक्सर EventKey संपत्ति से निपटता हूं। लेकिन मेरी तालिका में बड़ी मात्रा में रिकॉर्ड्स (5 एम तक) हो सकते हैं। और मुझे जितनी जल्दी हो सके काम करने के लिए इस कोड की आवश्यकता है। मुझे इवेंटकी को डिज़ाइनर में इंडेक्स प्रॉपर्टी के रूप में चिह्नित करने का कोई विकल्प नहीं मिला। और मैं जानना चाहता हूं:
- मैं चीजों को तेज़ी से कैसे बना सकता हूं? मुझे इसके बारे में चिंता करने की ज़रूरत है मेरे कोड के साथ?
- क्या कोई सौम्य तरीका को मजबूर करने के लिए .NET विकास पर्यावरण सूचकांक फ़ील्ड स्वचालित रूप से उत्पन्न करता है?
- यदि कोई सौम्य तरीका नहीं है, और मुझे इसे मैन्युअल रूप से अपडेट करना है, तो मैं इसे स्वचालित रूप से करने के लिए बेहतर तरीके से कैसे व्यवस्थित कर सकता हूं?
- क्या आप मुझे आलेखों के साथ एक लिंक दे सकते हैं, इन सभी चीजों को इंडेक्स के साथ समझाते हुए, क्योंकि मेरे ज्ञान में की कमी है।
धन्यवाद!
कुछ विचारों के लिए इन अन्य [एसएफ प्रश्नों पर पहले प्रश्न] देखें (http://stackoverflow.com/questions/3333674/entity-framework-4-add-index-in-model-first-design) कुछ विचारों के लिए –
5 एम कहीं भी विशाल, बीटीडब्ल्यू के पास नहीं है। –