এসকিউএল (সার্ভার ২০০৮) সম্পর্কে আমার নিম্ন স্তরের জ্ঞান সীমাবদ্ধ, এবং এখন আমাদের ডিবিএ দ্বারা চ্যালেঞ্জ করা হচ্ছে। আমাকে ব্যাখ্যা করতে দিন (আমি ঠিক আছে এই আশায় সুস্পষ্ট বক্তব্য উল্লেখ করেছি, তবে আপনি যদি কিছু ভুল দেখেন তবে দয়া করে আমাকে বলুন) দৃশ্যটি:
আমাদের কাছে একটি টেবিল রয়েছে যা মানুষের জন্য 'কোর্ট অর্ডার' ধারণ করে। আমি যখন টেবিলটি তৈরি করেছি, (নাম: কোর্টআর্ডার), তখন আমি এটি তৈরি করেছিলাম:
CREATE TABLE dbo.CourtOrder
(
CourtOrderID INT NOT NULL IDENTITY(1,1), (Primary Key)
PersonId INT NOT NULL,
+ around 20 other fields of different types.
)
আমি তখন প্রাথমিক কীতে (দক্ষতার জন্য) একটি ক্লাস্টারবিহীন সূচক প্রয়োগ করেছি। আমার কারণগুলি হ'ল এটি একটি অনন্য ক্ষেত্র (প্রাথমিক কী), এবং মূলত বাছাইয়ের উদ্দেশ্যে, যেমন আমাদের প্রায়শই হয় তাই সূচিযুক্ত করা উচিতSelect from table where primary key = ...
আমি তারপরে পার্সোনআইডিতে একটি ক্লাস্টারড সূচক প্রয়োগ করেছি। শারীরিকভাবে কোনও নির্দিষ্ট ব্যক্তির জন্য গ্রুপের অর্ডার দেওয়ার কারণ ছিল, কারণ বেশিরভাগ কাজ কোনও ব্যক্তির অর্ডার পাচ্ছে। সুতরাং,select from mytable where personId = ...
আমি এই এখন টানা হয়েছে। আমাকে বলা হয়েছে যে আমাদের ক্লাস্টারড ইনডেক্সটি প্রাথমিক কীতে এবং ব্যক্তি সূচকটিতে সাধারণ সূচি রাখা উচিত। এটা আমার কাছে খুব আজব লাগে। প্রথমে, আপনি কেন একটি অনন্য কলামে একটি ক্লাস্টার্ড সূচি রাখবেন? এটা কি গুচ্ছ? নিশ্চয়ই এটি ক্লাস্টারড ইনডেক্সের অপচয়? আমি বিশ্বাস করতাম একটি অনন্য কলামে একটি সাধারণ সূচক ব্যবহৃত হবে। এছাড়াও, সূচকটি ক্লাস্টিংয়ের অর্থ হ'ল আমরা একটি আলাদা কলাম ক্লাস্টার করতে পারি না (এক টেবিলের প্রতি এক, ডান?)
আমার যে ভুল হওয়ার কথা বলা হচ্ছে তার যুক্তি হ'ল তারা বিশ্বাস করে যে পার্সোনআইডিতে একটি ক্লাস্টার ইনডেক্স লাগানো সন্নিবেশকে ধীর করে দেবে। একটি নির্বাচনের গতিতে 5% লাভের জন্য, আমরা সন্নিবেশ এবং আপডেটগুলিতে গতিতে 95% অবনতি পাচ্ছি। এটি কি সঠিক এবং বৈধ?
তারা বলে যে আমরা ব্যক্তি আইডি ক্লাস্টার করেছি, এসকিউএল সার্ভারকে যখনই sertোকানো হয় বা পার্সোনআইডে পরিবর্তন করা হয় তখন ডেটা পুনরায় সাজানো হয়।
সুতরাং আমি জিজ্ঞাসা করেছি, এসকিউএল এর ক্লাস্টারড ইন্ডেক্সের ধারণাটি কেন এত ধীর? তারা কি বলছে ততই ধীর? সর্বোত্তম পারফরম্যান্স অর্জনের জন্য আমার কীভাবে আমার সূচকগুলি সেটআপ করা উচিত? আমি ভাবতাম নির্বাচনটি INSERT এর চেয়ে বেশি ব্যবহৃত হয় ... তবে তারা বলে যে আমরা INSERTS এ সমস্যাটি লক করছি ...
আশা করি কেউ আমাকে সাহায্য করতে পারে।