কলাম অনুসারে অর্ডার ইনডেক্স থাকা উচিত?


35

আমি সারণীতে সূচিপত্র যুক্ত করেছি যা অনুসন্ধানের ফলাফলের জন্য ব্যবহৃত হয়। আমি এএসসি বা ডিইএসসি অর্ডার দিয়ে ফলাফল দেখাচ্ছে। সুতরাং যে কলামে সূচি থাকা উচিত? আমার এই টেবিলে আরও 2 টি সূচক রয়েছে। সেই কলামে সূচি তৈরি বা না করে পারফরম্যান্স কীভাবে প্রভাব ফেলবে?


2
দয়া করে ক্যোয়ারী পোস্ট করুন
RolandoMySQLDBA

উত্তর:


26

হ্যাঁ, মাইএসকিউএল অর্ডার বাই (কিছু শর্তাধীন) কলামগুলিতে একটি সূচক ব্যবহার করতে পারে। তবে, মাইএসকিউএল ( ) দ্বারা মিশ্র এএসসি, ডিইএসসি অর্ডারের জন্য একটি সূচক ব্যবহার করতে পারে না SELECT * FROM foo ORDER BY bar ASC, pants DESC। আপনার ক্যোয়ারী এবং ক্রেস্ট টেবিল বিবৃতি ভাগ করে নেওয়া আপনার প্রশ্নটির আরও সুনির্দিষ্টভাবে উত্তর দিতে সহায়তা করবে।

আদেশগুলি কীভাবে অর্ডারকে অপ্টিমাইজ করতে হবে সে সম্পর্কে ইঙ্গিতের জন্য: http://dev.mysql.com/doc/refman/5.1/en/order-by-optimization.html

2012-01-21 8:53 পূর্বাহ্ন সম্পাদনা করুন

অর্ডার বাইয়ের মাধ্যমে মিশ্র ASC / DESC এর সাথে একটি সূচক ব্যবহার সম্পর্কে আমার বক্তব্যের উত্স সম্পর্কে প্রশ্ন ছিল। অপ্টিমাইজেশন ডকুমেন্টেশন দ্বারা অর্ডার থেকে :

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

...

আপনি এএসসি এবং ডিইএসসি মিশ্রণ করুন:

কী_ পার্ট 1 ডিইএসসি দ্বারা টি 1 অর্ডার থেকে * নির্বাচন করুন, কী_ পার্ট 2 এএসসি;

...

এছাড়াও, DESC শব্দ হয় অর্থহীন সূচী তৈরি মধ্যে

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


3
"মাইএসকিউএল মিশ্র ASC, DESC এর জন্য একটি সূচক ব্যবহার করতে পারে না" । এই জন্য রেফারেন্স?
ypercubeᵀᴹ

CREATE INDEX idx_foo ON foo(bar ASC, pants DESC);কাজ করা উচিত.
ফ্র্যাঙ্ক হিকেন্স

আমার উত্সটি আমার উত্তরে লিঙ্কযুক্ত মাইএসকিএল ডকুমেন্টেশন। "মিক্স" এর জন্য অনুসন্ধান করুন।
অ্যারন ব্রাউন

3
মাইএসকিউএল ক্রেডিট ইন্ডেক্স এএসসি এবং ডেস্ককে পার্স করে তবে সেগুলি উপেক্ষা করে। সূচকগুলি সর্বদা আরোহী ক্রমে সংরক্ষণ করা হয়। dev.mysql.com/doc/refman/5.5/en/create-index.html
অ্যারন ব্রাউন

1
নিউ মাইএসকিউএল 8.0 সঙ্গে : এখন এটি একটি মিশ্রণ ব্যবহার করতে পারেন ASCএবং DESC যদিINDEX একই মিশ্রণ হয়েছে।
রিক জেমস

4

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

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