ভাল পর্যাপ্ত পরিকল্পনা ব্যতীত অনুসন্ধানগুলি পাওয়া গেল


20

আমার কাছে একটি এসকিউএল সার্ভার 2012 ডাটাবেস রয়েছে। আমি Reason for early termination of statement optimizationকিছু প্রশ্নের জন্য মূল্য লক্ষ্য করেছি এবং সমস্ত দিয়েছি Good Enough Plan Found। এখন আমার প্রশ্নগুলি হ'ল:

  1. "বিবৃতি অপ্টিমাইজেশনের প্রাথমিক সমাপ্তির কারণ" এর সমস্ত সম্ভাব্য প্রকারগুলি কী কী? আমি এটি এমএসডিএন-তে অনুসন্ধান করেছি তবে মানগুলির একটি সম্পূর্ণ তালিকা পাইনি।
  2. গুড ইনফ প্ল্যান পাওয়া ছাড়া অন্য কারনে অপ্টিমাইজেশন বন্ধ হয়ে গেছে এমন সমস্ত প্রশ্নের তালিকার জন্য কোনও ডিএমভি বা বর্ধিত ইভেন্ট রয়েছে? আমি নিম্নলিখিত দুটি নিবন্ধ উল্লেখ করেছি যা সম্ভাবনার সম্পূর্ণ তালিকাটি তালিকাভুক্ত করে না। [এছাড়াও, তারা আমার ডাটাবেসে আমাকে আলাদা ফলাফল দেয়]

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


উত্তর:


20
  • স্মৃতি সীমা অতিক্রম করেছে

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

  • সময় শেষ

    এই কারণটি অনেক ভুল বোঝাবুঝি

    ক্যোয়ারী লক্ষ্য অপটিমাইজার একটি এটি যুক্তিসঙ্গত পরিকল্পনা দ্রুত । এটি সর্বোত্তম সম্ভাব্য পরিকল্পনা সন্ধান করার জন্য একটি বিস্তৃত অনুসন্ধান করে না। নকশা দ্বারা, এটি প্রয়োজনের তুলনায় অপ্টিমাইজেশনের জন্য বেশি সময় ব্যয় করা এড়াতে পারে। এই বৈশিষ্ট্যগুলির মধ্যে একটি যা এটি নিশ্চিত করতে কাজ করে তা হ'ল 'টাইম আউট' (সময়ের পরিমাপ নয়)।

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

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

    'টাইম আউট' কে 'ভাল যথেষ্ট পরিকল্পনা খুঁজে পেয়েছে' হিসাবে ভাবেন।

  • ভাল যথেষ্ট পরিকল্পনা পাওয়া গেছে

    এর অর্থ একটি ফাঁকা কারণ হিসাবে একই as এটি কেবল একটি historicalতিহাসিক উদ্দীপনা যা 0.909090 এর নীচে ব্যয় নিয়ে পরিকল্পনা করে ... (1 / 1.1) এইভাবে লেবেলযুক্ত। কোনও কারণ তাড়াতাড়ি থামে না বা অন্যথায় বিশেষভাবে পরিচালিত বা অপটিমাইজার কোডের মধ্যে এই কারণটি উপস্থিত হওয়ার পরে আলাদা is

মেমোরি সীমা ছাড়িয়ে গেছে, কোয়েরি টিউনিং বা পারফরম্যান্স বিশ্লেষণের জন্য 'আদি সমাপ্তির কারণগুলির' কোনওোটাই বেশি (কিছু না হলেও) বোঝায়। আমি সাধারণত এগুলি উপেক্ষা করি।

পরামর্শ

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

দরকারী পরিসংখ্যান এবং সূচী এবং ভাল-লিখিত, অপ্টিমাইজার-বান্ধব ক্যোয়ারী সহ সঠিক সম্পর্কিত সম্পর্কিত স্কিমাতে গ্যারান্টিযুক্ত-পরিষ্কার ডেটা সঞ্চয় করুন।


10

যদি আপনি http://schemas.microsoft.com/sqlserver/2004/07/showplan/showplanxml.xsd- এ যান (আপনি যদি এক্সএমএল হিসাবে একটি এক্সিকিউশন প্ল্যান খুলেন তবে আপনি যে লিঙ্কটি দেখতে পাবেন), আপনি দেখতে পাবেন তিনটি কারণ তালিকাভুক্ত, যা হ'ল:

  • সময় শেষ
  • MemoryLimitExceeded
  • GoodEnoughPlanFound

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

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

আছে HTH

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