এসকিউএল সার্ভার - ক্লাস্টার্ড বনাম নন-ক্লাস্টারড ইনডেক্স কখন ব্যবহার করবেন?


99

আমি ক্লাস্টারযুক্ত এবং নন ক্লাস্টারযুক্ত সূচকের মধ্যে প্রাথমিক পার্থক্য জানি এবং তারা আসলে কীভাবে কাজ করে তার একটি বোঝাপড়া আছে। আমি বুঝতে পারি যে কীভাবে ক্লাস্টারযুক্ত এবং নন-ক্লাস্টারযুক্ত সূচিপত্রগুলি পড়ার কর্মক্ষমতা উন্নত করে। তবে একটি বিষয় যা আমি নিশ্চিত নই তা হ'ল আমি কী কারণে অন্যগুলির চেয়ে একজনকে বেছে নেব।

উদাহরণস্বরূপ: যদি কোনও টেবিলের ক্লাস্টার ইনডেক্স না থাকে, তবে একটির ক্লাস্টারযুক্ত সূচী তৈরি করা উচিত এবং কী করার সুবিধা whats


4
সাড়া দেওয়ার জন্য ধন্যবাদ। আমি ইতিমধ্যে সচেতন। আমার প্রশ্ন হ'ল এমন পরিস্থিতি কি আছে যেখানে একটি ক্লাস্টারযুক্ত সূচক তৈরি করা একটি ক্লাস্টার ইনডেক্স তৈরির চেয়ে বেশি উপকৃত হবে
আর্মুলেটর

4
হ্যাঁ, আপনি যখন একটি ক্লাস্টার্ড সূচক এড়ানো উচিত; কলামটির মূল পরিচয় নেই, কোনও নির্দিষ্ট আদেশ নেই, প্রায়শই আপডেট করা হয়, অ-অনুক্রমিক হয় না, এটি অনেকগুলি কলামের সংমিশ্রণ ...
টিআই

আপনার উত্তরের জন্য ধন্যবাদ. এটি সহায়ক
আর্মুলেটর

4
সম্ভবত এই প্রশ্ন আপনাকে সাহায্য করবে: স্ট্যাকওভারফ্লো.com
ডেভিড গার্সিয়া গঞ্জালেজ

উত্তর:


118

আমি কেবল সতর্কতার একটি শব্দ রাখতে চাই: খুব সাবধানে আপনার ক্লাস্টারড সূচকটি বেছে নিন! প্রতিটি "নিয়মিত" ডাটা টেবিলের একটি ক্লাস্টারড ইনডেক্স থাকা উচিত, যেহেতু একটি ক্লাস্টারড ইনডেক্স থাকা আসলেই প্রচুর ক্রিয়াকে গতি দেয় - হ্যাঁ, গতি বাড়ান , এমনকি সন্নিবেশ এবং মুছুন! তবে আপনি যদি একটি ভাল বাছাই করেন তবেই ক্লাস্টারড সূচক ।

এটি আপনার এসকিউএল সার্ভার ডাটাবেসে সর্বাধিক প্রতিলিপিযুক্ত ডেটা কাঠামো। ক্লাস্টারিং কীটি আপনার টেবিলের প্রতিটি অ-ক্লাস্টারযুক্ত সূচকেরও অংশ হবে।

একটি ক্লাস্টারিং কী বাছাই করার সময় আপনার চরম যত্ন নেওয়া উচিত - এটি হওয়া উচিত:

  • সংকীর্ণ (4 বাইট আদর্শ)

  • অনন্য (এটি সর্বোপরি "সারি পয়েন্টার" you আপনার কাছে - এটি খুব ব্যয়বহুল হতে পারে!)

  • স্থির (কখনই পরিবর্তন হয় না - সম্ভব হলে)

  • আদর্শভাবে ক্রমবর্ধমান যাতে আপনার ভয়াবহ সূচক বিভাজন শেষ হয় না (একটি নির্দিষ্ট গ্লাস্টারিং কীটির সম্পূর্ণ বিপরীত একটি জিইউডি - সেই নির্দিষ্ট কারণে)

  • এটি নন-অযোগ্য এবং আদর্শভাবে স্থির প্রস্থও হওয়া উচিত - এটি varchar(250)একটি খুব দরিদ্র ক্লাস্টারিং কী তৈরি করে

এই পয়েন্টগুলির পিছনে অন্য যে কোনও কিছুই সত্যের গুরুত্বের তৃতীয় এবং তৃতীয় স্তরের হওয়া উচিত ....

বিষয়টিতে কিম্বারলি ট্রিপস ( ইনডেক্সিংয়ের কুইন ) ব্লগ পোস্টগুলির কিছু দেখুন - তিনি তার ব্লগে যা কিছু লিখেছেন তা একেবারেই অমূল্য - এটি পড়ুন, হজম করুন - এর দ্বারা লাইভ করুন!


4
সুস্পষ্ট ব্যাখ্যার জন্য ধন্যবাদ marc_s। তবে প্রযুক্তিগতভাবে বলতে গেলে, non clusteredসূচি আমাদের জন্য কী করে। এর গুরুত্ব কি ..?
হুড

@ ন্যাড: একটি ভালভাবে নির্বাচিত নন-ক্লাস্টারড ইনডেক্স আপনার অনুসন্ধানগুলিকে ত্বরান্বিত করতে পারে - আপনার অনুসন্ধানের মানদণ্ডের সাথে লক্ষ লক্ষ সারি ডেটা তুলনা করার পরিবর্তে, আপনি কেবলমাত্র 4, 5 তুলনা দিয়ে একটি প্রদত্ত সারিটি খুঁজে পেতে পারেন। এটি একটি বিশাল পার্থক্য তোলে !
marc_s

4
@ মুরিলোকুনজে: এই বিষয়ে কিম ট্রিপের ব্লগ পোস্টটি পড়ুন - তিনি কেন এই
ঘটনাটি

4
আমি দুঃখিত, তবে "এসকিউএল সার্ভার - ক্লাস্টার্ড বনাম নন-ক্লাস্টারড ইনডেক্স কখন ব্যবহার করবেন?" প্রশ্নের উত্তর কোথায়? ?
এডুয়ার্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.