নির্বাচন বিবৃতিতে বিকল্প দ্রুত কী করে?


29

OPTION (FAST XXX)একটি SELECTবিবৃতিতে ক্যোয়ারী ইঙ্গিতটি কী করে সে সম্পর্কে আমি কিছু খনন করেছি এবং এখনও এতে বিভ্রান্ত রয়েছি। এমএসডিএন অনুসারে:

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

আমার পক্ষে এটি খুব বেশি অর্থবোধ করে না তবে মূলত ক্যোয়ারীটি প্রথম XXX সারিগুলি সত্যিই দ্রুত পেতে পারে তারপরে বাকী স্বাভাবিক গতিতে?

মাইক্রোসফ্ট ডায়নামিক্স ক্যোয়ারী যা আমাকে এই সম্পর্কে ভাবতে বাধ্য করেছে:

select pjproj.project,pjproj.project_desc,pjproj.customer,pjproj.cpnyid
from pjproj WITH (NOLOCK)
where project like  '%'
order by project OPTION(FAST 500)

এই ক্যোয়ারী ইঙ্গিতটি কি করছে ঠিক কি কেউ ব্যাখ্যা করতে পারে এবং এটি ব্যবহার না করে এটির সুবিধা?

উত্তর:


24

একটি FAST Nএসকিউএল সার্ভারকে দ্রুত নির্ধারিত সারিগুলির সংখ্যা দ্রুত ফিরিয়ে দিয়ে একটি কার্যকরকরণ পরিকল্পনা তৈরি করতে বলবে N

নোট করুন যে অনুমানগুলি হিসাবে হিসাবে Nস্কেল সার্ভারকে Nযত দ্রুত সম্ভব সারিগুলি পুনরুদ্ধার করতে বলছেন per

উদাহরণস্বরূপ কোয়েরির নীচে চলছে fast 500:

-- total rows : 19972
 SELECT [BusinessEntityID]
      ,[TotalPurchaseYTD]
      ,[DateFirstPurchase]
      ,[BirthDate]
      ,[MaritalStatus]
      ,[YearlyIncome]
      ,[Gender]
      ,[TotalChildren]
      ,[NumberChildrenAtHome]
      ,[Education]
      ,[Occupation]
      ,[HomeOwnerFlag]
      ,[NumberCarsOwned]
  FROM [AdventureWorks2012].[Sales].[vPersonDemographics]
  order by BusinessEntityID
  option (fast 500)

এস্ট বনাম আসল সারিগুলির সাথে option (fast 500)

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

এস্ট বনাম আসল সারি ছাড়াই option (fast 500)

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

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

আর একটি আকর্ষণীয় ব্যবহারের ঘটনাটি এসএসআইএস জমিতে যা রব ফারলেFAST N ডেটা পুনরুদ্ধারকে ত্বরান্বিতকারী হিসাবে ব্যবহার করে বর্ণনা করেছেন ।

এই ইঙ্গিতটি যুক্ত করে, মনে হয়েছিল যে যাদুবিদ্যার লাঠিটি কোয়েরি জুড়ে vedেউ করা হয়েছে, যাতে এটি কয়েকবার দ্রুত চালানো যায়।

রিমাস রুসানুর উত্তরও দেখুন ।


11

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

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


2

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

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

আমার ক্ষেত্রে একমাত্র বিষয়টি হ'ল এসকিউএল সার্ভার সর্বদা ইঙ্গিতটি ব্যবহার করার সময় ফলাফলগুলি ফেরত দিতে বেশ কয়েক মিনিট সময় নিয়েছিল, যখন কোয়েরিটি ইঙ্গিত ছাড়াই সেকেন্ডের ক্ষেত্রে ফলাফল (পুরো ফলাফল সেট) ফিরিয়েছে ... বেশ কি না প্রত্যাশিত ছিল. আমি ব্যক্তিগতভাবে এই ইঙ্গিতটি খুব সাবধানতার সাথে ব্যবহার করব এবং আমাদের ডায়নামিক্স পরিবেশের মতো সমস্ত রূপে পদ্ধতিগতভাবে না (ভাল, আর নয়)।

সুতরাং, ওপিটির উত্তর দেওয়ার জন্য: অনেক ইঙ্গিতের মতো, ক্যোয়ারির উন্নতি করতে যেমন এটি করা উচিত বলে মনে করা হয় তেমনি এটি করা হয় না (সুতরাং ... পরীক্ষা, পরীক্ষা, পরীক্ষা!)

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