যদি সেই ক্ষেত্রটিতে একটি বহু-কলাম সূচী ইতিমধ্যে বিদ্যমান থাকে তবে আমাকে কি কোনও টেবিলে নতুন একক কলাম সূচক যুক্ত করার দরকার আছে?


10

আমি একটি টেবিল পেয়েছি এবং এতে বহু-কলাম UNIQUEসূচী রয়েছে ।_job_id____keyword_id__

আমার __job_id__যদি প্রায়শই জিজ্ঞাসা থাকে যা GROUP BYসেই কলামটিতে একটি সম্পাদন করে তবে আমি কি অন্য সূচি যুক্ত করতে চাই ?

(১০০ মিলিয়ন কাতারে এটি কিছুটা সময় নিতে পারে is এ কারণেই আমি কেবল করার পরিবর্তে জিজ্ঞাসা করছি)


যদি আপনার আসল প্রশ্নটি ধীর অনুসন্ধানের বিষয়ে হয় তবে দয়া করে টেবিল প্রদর্শন করুন টেবিল পরিস্থিতি প্রদর্শন করুন বৈচিত্র্যগুলি পছন্দ করুন '% বাফার%' বর্ণিত নির্বাচন করুন ... কতটা র‌্যাম পাওয়া যায়? অনেকগুলি সম্ভাব্য কারণ রয়েছে; বেশিরভাগটি আইটেমগুলি দেখে স্পট করা যায়।
রিক জেমস

উত্তর:


5

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

যদি টেবিলটি মাইআইএসএএম হয় তবে এই জাতীয় সূচি তৈরি করা কেবল এমওয়াইআই ফাইলটি ফুটিয়ে তুলবে।

যদি টেবিলটি InnoDB হয় এবং ইনোডাব_ফিল_পিটার_সারণযোগ্য 0 হয়, যেমন একটি সূচি তৈরি করা কেবল ইবদাটা 1 ফোটাবে।

যদি টেবিলটি InnoDB হয় এবং ইনোডাব_ফিল_পিটার_সেবিল 1 হয়, এই জাতীয় সূচি তৈরি করা কেবল সারণির .ibd ফাইলটি ফুটিয়ে তুলবে।

সংক্ষেপে, আপনার অতিরিক্ত সূচক তৈরি করার দরকার নেই !!!


তুমি কি নিশ্চিত? এই লোকটি অন্যথায় পরামর্শ দেয়: স্ট্যাকওভারফ্লো / প্রশ্ন / 179085/… বা এটি মাইএসকিউএল থেকে এমএসএসকিউএল থেকে আলাদা?
তাদেজ

4

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

অনুচ্ছেদে job_idএকমাত্র কলাম এবং group byএটি ক্লাস্টারড সূচক নয় তা ধরে নেওয়ার ক্ষেত্রে পৃথক সূচক থাকার প্রান্তিক সুবিধা রয়েছে: সূচকটি আরও ছোট হবে এবং এটি স্ক্যান করলে কম আই / ও উৎপন্ন হবে

--EDIT--

যেহেতু একটি সূচকে ক্লাস্টারড ইনডেক্স কীটির জন্য সংজ্ঞায়িত সমস্ত প্রাথমিক কী ক্ষেত্র রয়েছে যা গৌণ সূচকগুলিতে নেই , সুতরাং অন job_idসূচকটি job_id, keyword_idযদি keyword_idক্লাস্টারড সূচকের অংশ না হয় তবে কেবলমাত্র একটি সূচকের চেয়ে ছোট হবে ।

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