এই প্রশ্নটি কোনও এসকিউএল সার্ভার সূচক কৌশলটির কার্যকারিতা সম্পর্কে। আমি মনে করি এটি "সূচক ছেদ" হিসাবে পরিচিত।
আমি একটি বিদ্যমান এসকিউএল সার্ভার (২০০৮) অ্যাপ্লিকেশনটির সাথে কাজ করছি যার মধ্যে বেশ কয়েকটি কর্মক্ষমতা এবং স্থায়িত্বের সমস্যা রয়েছে। বিকাশকারীরা ইনডেক্স দিয়ে কিছু বিজোড় কাজ করেছিলেন। আমি এই বিষয়গুলি সম্পর্কে চূড়ান্ত মানদণ্ড পেতে সক্ষম হইনি, বা ইন্টারনেটগুলিতে আমি খুব ভাল কোনও ডকুমেন্টেশন খুঁজে পাই না।
একটি টেবিলে অনেকগুলি অনুসন্ধানযোগ্য কলাম রয়েছে। বিকাশকারীগণ অনুসন্ধানযোগ্য কলামগুলির প্রত্যেকটিতে একটি একক কলাম সূচক তৈরি করেছিলেন। তত্ত্বটি হ'ল এসকিউএল সার্ভার বেশিরভাগ পরিস্থিতিতে দক্ষতার সাথে টেবিলটি অ্যাক্সেস করতে এই সূচকগুলির প্রতিটি সংহত (ছেদ করা) করতে সক্ষম হবে । এখানে একটি সরলীকৃত উদাহরণ দেওয়া হয়েছে (আসল টেবিলের আরও ক্ষেত্র রয়েছে):
CREATE TABLE [dbo].[FatTable](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[col1] [nchar](12) NOT NULL,
[col2] [int] NOT NULL,
[col3] [varchar](2000) NOT NULL, ...
CREATE NONCLUSTERED INDEX [IndexCol1] ON [dbo].[FatTable] ( [col1] ASC )
CREATE NONCLUSTERED INDEX [IndexCol2] ON [dbo].[FatTable] ( [col2] ASC )
select * from fattable where col1 = '2004IN'
select * from fattable where col1 = '2004IN' and col2 = 4
আমি মনে করি অনুসন্ধানের মানদণ্ডের উদ্দেশ্যে লক্ষ্যযুক্ত একাধিক কলাম সূচী আরও ভাল তবে আমি ভুল হতে পারি। আমি কোয়েরি পরিকল্পনাগুলি দেখেছি যা এসকিউএল সার্ভারকে দেখায় যে দুটি সূচী অনুসন্ধানে হ্যাশ ম্যাচ করছে। টেবিলটি কীভাবে সন্ধান করা হয় তা আপনি জানেন না যখন সম্ভবত এটি বোধগম্য হয়? ধন্যবাদ।