সূচকগুলি সংজ্ঞায়িত করার সময় কলামগুলির নির্দিষ্ট ক্রমে কোনও সুবিধা রয়েছে


13

উদাহরণস্বরূপ, যদি আমার দুটি সূচক থাকে:

CREATE INDEX IDX_1 ON MY_TABLE_1
 (ITEM, DATE, LOCATION)
 COMPUTE STATISTICS;

CREATE INDEX IDX_2 ON MY_TABLE_1
 (DATE, LOCATION, ITEM)
 COMPUTE STATISTICS;

এটি কি IDX_2অপ্রয়োজনীয় করে তুলবে ? যদি তা না হয় তবে আমি কলামগুলি ঘোষণার ক্রমটি কীভাবে নির্ধারণ করব?

আমার কি নিয়মিত প্রশ্নগুলিতে সূচীগুলি বারণ করা উচিত?

উত্তর:


12

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

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

আপনার ক্ষেত্রে IDX_2টেবিলের প্রশ্নের প্রকৃতির উপর নির্ভর করে অপ্রয়োজনীয় নয় is যাইহোক, কলামগুলির সমস্ত অন্তর্ভুক্ত করার প্রয়োজন হবে না। উদাহরণস্বরূপ, আপনি যদি এরপরে অনেকগুলি প্রশ্ন করেন locationএবং dateতারপরে IDX_2সেগুলি IDX_1কার্যকর করার জন্য সঠিক ক্রমে যথাযথ ক্রমটি সমাধান না করে সমাধান করতে সহায়তা করতে পারেন । তবে আপনি এটি itemঅপ্রয়োজনীয় খুঁজে পেতে পারেন IDX_2

9 আই থেকে, ওরাকল একটি 'স্কিপ স্ক্যান' অপারেটর চালু করল যেখানে অনুক্রমের সূচক কলামগুলি আরও দক্ষতার সাথে জিজ্ঞাসা করা যেতে পারে, যা এই ধরণের পরিপূরক সূচকগুলির প্রয়োজনীয়তা হ্রাস করতে পারে।

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

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


3
@ কনসার্নডঅফটুনব্রিজওয়েলস: বিকল্প বিকল্প হল সূচি কী সংক্ষেপণটি ব্যবহার করা, এবং কম নির্বাচনী (কম স্বতন্ত্র মানের) কলামগুলি শীর্ষস্থানীয় হওয়া উচিত। এটি স্কিপ-স্ক্যানগুলিকে ভালভাবে কাজ করার অনুমতি দেয়, তবে এটি একটি ছোট সূচকে নেতৃত্ব দিতে সহায়তা করে।
অ্যাডাম মাশচ

2

আরেকটি বিষয় বিবেচনায় রাখা হ'ল প্রচুর নাল মান সহ কলাম।

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

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

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