এসকিউএল সার্ভার প্ল্যানস: সূচক স্ক্যান / সূচী অনুসন্ধানের মধ্যে পার্থক্য


89

একটি এসকিউএল সার্ভার এক্সিকিউশন পরিকল্পনায় একটি সূচি স্ক্যান এবং একটি সূচক সন্ধানের মধ্যে পার্থক্য কী

আমি এসকিউএল সার্ভার 2005 এ আছি।

উত্তর:


129

একটি সূচক স্ক্যান যেখানে এসকিউএল সার্ভারটি ম্যাচগুলির সন্ধানের জন্য সমস্ত সূচীটি পড়তে থাকে - এটি যে সময় নেয় সেটি সূচকের আকারের সাথে আনুপাতিক।

সূচকের সন্ধানটি হ'ল এসকিউএল সার্ভার সূচকের বি-ট্রি কাঠামোটি সরাসরি রেকর্ডগুলির সাথে অনুসন্ধানের জন্য ব্যবহার করে ( এটি কীভাবে কাজ করে তার কোনও ধারণার জন্য http://mattfleming.com/node/192 দেখুন ) - নেওয়া সময়টি কেবলমাত্র আনুপাতিক মিলের রেকর্ডের সংখ্যা।

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

4
লিঙ্কটি এখনও সক্রিয় আছে? আমার জন্য এটি কাজ করে না। আপডেট লিঙ্কটি থাকলে দয়া করে সহায়তা করুন
রোনাক অগ্রওয়াল

4
@ রোনাকআগ্রওয়াল দেখে মনে হচ্ছে লিঙ্কটি আসলে মারা গেছে - এর বদলে উইকিপিডিয়া চেক করতে পারেন?
জাস্টিন


77

অনুসরণ করার প্রাথমিক নিয়মটি হল স্ক্যানগুলি খারাপ, সিক্সগুলি ভাল।

সূচক স্ক্যান

এসকিউএল সার্ভার যখন একটি স্ক্যান করে তখন এটি সেই বস্তুটি লোড করে যা এটি ডিস্ক থেকে মেমরিতে পড়তে চায়, তারপরে সেটিকে প্রয়োজনীয় থেকে রেকর্ডগুলি সন্ধান করে উপর থেকে নীচে অবধি পড়ে।

সূচি সন্ধান করুন

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


আমি কোনও স্ক্যানের পরিবর্তে সিক ব্যবহার করতে একটি এক্সিকিউশন প্ল্যানকে কীভাবে সংশোধন করতে পারি?

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

তথ্যসূত্র

এসকিউএল সার্ভার এক্সিকিউশন পরিকল্পনার মধ্যে এই অপারেটরগুলির প্রত্যেকের নির্দিষ্টকরণ সম্পর্কিত তথ্যের জন্য দেখুন ....


7

সংক্ষিপ্ত উত্তর:

  • সূচি স্ক্যান: সমস্ত সারিটি নির্দিষ্ট কলামগুলিতে স্পর্শ করুন।

  • সূচি সন্ধান: নির্দিষ্ট সারি এবং নির্দিষ্ট কলামগুলিকে স্পর্শ করুন।


4

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


2

একটি সূচক স্ক্যান ঘটে যখন অনুসন্ধানের পূর্বাভাসগুলি পূরণ করতে সূচক সংজ্ঞাটি একটি একক সারিতে খুঁজে না পায়। এই ক্ষেত্রে SQL সার্ভার স্ক্যান করতে হয়েছে একাধিক পৃষ্ঠায় একটি এটি পরিসীমা সারি কোন অনুসন্ধান predicates সন্তুষ্ট হন।

কোনও সূচি সন্ধানের ক্ষেত্রে, এসকিউএল সার্ভার সূচক সংজ্ঞা ব্যবহার করে ভবিষ্যদ্বাণী করে একটি একক সারির সন্ধান করে ।

সূচক সিক্স আরও ভাল এবং কার্যকর effective


0

আপনি যা করছেন বা না থাকুন তা স্ক্যানের পরে টেবিলের প্রতিটি সারি স্পর্শ করে

একটি সন্ধান কেবল সারিগুলিতে দেখায় যা আপনি সন্ধান করছেন।

স্ক্যানগুলির চেয়ে সন্ধানগুলি সর্বদা ভাল কারণ এটি ডেটা আপ দেখায় এমনভাবে আরও দক্ষ।

একটি ভাল ব্যাখ্যা এখানে পাওয়া যাবে


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

4
হাই জাস্টিন, আমি অনুমান করি আপনি বলতে চান টেবিল স্ক্যানগুলি আরও ভাল কিছু সময় হতে পারে। সূচি সন্ধানগুলি সর্বদা সূচক স্ক্যানের চেয়ে ভাল, যদি না আমরা ক্লাস্টার নিয়ে কথা বলি। তবে, কখনও কখনও, আপনি উল্লিখিত কারণে একটি টেবিল স্ক্যান বা একটি ক্লাস্টারড ইনডেক্স স্ক্যান আরও দক্ষ হতে পারে। সূচীর সন্ধানের পরিবর্তে এবং ক্ষেত্রগুলি সারণি থেকে সূচকের মধ্যে নেই, কখনও কখনও, এমএস বর্গক্ষেত্র সারণিটি ব্যবহার করবে এমনকি সূচকের মানদণ্ড ক্ষেত্র থাকলেও।
জোস অঞ্চলগুলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.