ক্লাস্টারড ইনডেক্স অক্ষম করা কেন টেবিলটিকে অ্যাক্সেসযোগ্য করে তুলেছে?


11

যখন কোনও সূচক অক্ষম থাকে, সংজ্ঞাটি সিস্টেম ক্যাটালগে থেকে যায় তবে আর ব্যবহার হয় না। এসকিউএল সার্ভার সূচি বজায় রাখে না (যেমন টেবিলের ডেটা পরিবর্তিত হয়), এবং সূচি কোয়েরিগুলি পূরণ করতে ব্যবহার করা যায় না। যদি একটি ক্লাস্টারড সূচক অক্ষম করা হয় তবে পুরো টেবিলটি অ্যাক্সেসযোগ্য।

টেবিল থেকে সরাসরি বি-গাছকে ছাড়িয়ে রেখে ডেটা অ্যাক্সেস করা কেন সম্ভব নয়? (সম্ভবত টেবিল সারি সারি স্ক্যান করেই) ডেটা সম্পূর্ণ অ্যাক্সেসযোগ্য করার চেয়ে কি এটি আরও উপযুক্ত হবে না?

এটি একটি নিখুঁত তাত্ত্বিক প্রশ্ন - আমি আসলে এটি কখনই করতাম না। এটি কোনও দৃশ্য নয় বা করণীয় জিনিস নয়, আমি কেবল এটি কেন জানতে চাই তা জানতে চাই, এটি একটি অভ্যন্তরীণ প্রশ্ন বিবেচনা করুন।

উত্তর:


10

টেবিল থেকে সরাসরি বি-গাছকে ছাড়িয়ে রেখে ডেটা অ্যাক্সেস করা কেন সম্ভব নয়? (সর্বাধিক সারি সারণি সারিটি স্ক্যান করে) তা কি একেবারেই অ্যাক্সেসযোগ্য ডেটার চেয়ে উপযুক্ত হবে না?

আপনার প্রশ্নের উত্তর দেওয়ার জন্য, সূচীকরণের মূল বিষয়গুলি আরও কার্যকর হয় - একটি বি-ট্রি কাঠামোর মধ্যে সজ্জিত পৃষ্ঠাগুলির একটি সূচক (সূচক নোড) তৈরি করা হয় index এই কাঠামোটি হায়ারার্কিকাল প্রকৃতির, হায়ারার্কির শীর্ষে মূল নোড এবং নীচে পাতার নোড রয়েছে। আরও তথ্যের জন্য এখানে দেখুন

এছাড়াও, অনেকে যেমন বর্ণনা করেছেন, ক্লাস্টারড ইনডেক্স == মূল টেবিলগুলি যা শারীরিকভাবে এক বা একাধিক কী বা কলাম দিয়ে অর্ডার করা হয়েছে। সুতরাং, যখন একটি ক্লাস্টারযুক্ত সূচক অক্ষম করা হয়, তখন এর ডেটা সারিগুলি অ্যাক্সেস করা যায় না। আপনি কোনও ডেটা সন্নিবেশ করতে সক্ষম হবেন না (নন ক্লাস্টারড ইনডেক্সের জন্য সন্নিবেশটি সফল হবে - তবে এটি পুরোপুরি এই পোস্টের সাথে সম্পর্কিত নয় - কারণ এখানে আলোচনাটি ক্লাস্টারড ইনডেক্সের) পাশাপাশি বা পুনর্গঠিত অপারেশনও কাজ করবে না।

নীচে আপনাকে বিস্তারিত ব্যাখ্যা করবে:

ক্লাস্টারড ইনডেক্সটি অক্ষম করার প্রভাব দেখতে আমরা অ্যাডভেঞ্চারওয়ার্ক ডেটাবেস ব্যবহার করব ।

এখানে চিত্র বর্ণনা লিখুন

এখন সারণীতে সারি গণনা পরীক্ষা করুন:

এখানে চিত্র বর্ণনা লিখুন

এখন ক্লাস্টারড ইনডেক্স অক্ষম করুন

এখানে চিত্র বর্ণনা লিখুন

এখন টেবিল থেকে সারি গণনা নির্বাচন করুন। এবার এটি নীচের বার্তার সাথে ত্রুটিযুক্ত হবে:

এখানে চিত্র বর্ণনা লিখুন

এমনকি পুনর্গঠিত অপারেশনও কাজ করে না !!

এখানে চিত্র বর্ণনা লিখুন

এখন ক্লাস্টারড ইনডেক্স পুনর্নির্মাণ করুন এবং এটি সূক্ষ্মভাবে কাজ করা উচিত।

এখানে চিত্র বর্ণনা লিখুন

আমরা ডেটা অ্যাক্সেস করতে পারি কিনা তা দেখতে টেবিলটি নির্বাচন করুন

এখানে চিত্র বর্ণনা লিখুন

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

দ্রষ্টব্য: সূচি সক্রিয় করার কোনও বিকল্প নেই। আপনাকে এটি পুনরায় বিল্ড করতে হবে।


2

বি + + গাছের পাতার স্তর হল টেবিল। সিআই নিষ্ক্রিয় করে আপনি কী অর্জনের আশা করছেন? আপনি যদি ডেটা অ্যাক্সেসযোগ্য না চান তবে কেবল এটি করবেন না।

এসকিউএল সার্ভার এমনকি আপনাকে এটি করার অনুমতি দেয় কেন তা আমি সত্যই নিশ্চিত নই।

CREATE TABLE T
(
    X INT CONSTRAINT PK PRIMARY KEY CLUSTERED, 
    Y INT CONSTRAINT UQ UNIQUE NONCLUSTERED
);

ALTER INDEX PK ON T DISABLE;

... এমনকি এনসিআইকে অক্ষম করে এমনকি এমন SELECTপ্রশ্নগুলিও যেগুলি এর দ্বারা আওতায় থাকবে তা অক্ষম are আমি এর জন্য কোনও ব্যবহারের ক্ষেত্রে ভাবতে পারি না। - মার্টিন-স্মিথ

আমি আমার মাথাটি কেবল ভাবতে পারি না সেটাই হ'ল আলোচিত। একটি টেবিল অক্ষম করা হচ্ছে। আপনার যদি এমন একটি টেবিল থাকে যা আপনি কারও কাছে স্পর্শ করতে চান না, এমনকি dboবা sysadmin, তবে আপনি ক্লাস্টারড ইনডেক্সটি অক্ষম করতে পারেন। ডেটা সহ টেবিলটি বিদ্যমান, তবে আপনি ক্লাস্টারড ইনডেক্সটিকে পুনরায় সক্ষম না করা পর্যন্ত সম্পূর্ণ অ্যাক্সেসযোগ্য। - কেনেথ-ফিশার

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