কার্য সম্পাদন টিউনিং


12

আপনি যখন কোনও কোয়েরি / সঞ্চিত প্রোক / ফাংশন লেখার কাজ শেষ করেন, দ্রুত কিছু কর্মক্ষমতা পরামিতি পাওয়ার সর্বাধিক তথ্যগত উপায় কী? আপনি কি ক্যোয়ারী চালাচ্ছেন এবং প্রকৃত বাস্তবায়ন পরিকল্পনাটি দেখুন? যদি তা হয় তবে আপনি কীসের জন্য সন্ধান করছেন? স্পষ্টতই টেবিল / সূচক স্ক্যানগুলি বিট হিট, তবে আর কী?

উত্তর:


8

দ্রুত মূল্যায়নের জন্য, এসএসএমএসের বাইরে থেকে প্ল্যান এক্সপ্লোরার এ কার্যকর করার পরিকল্পনা পান

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

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


5

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

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

এতে তিনি বলেছেন:

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

* Index or table scans: May indicate a need for better or additional indexes.

* Bookmark Lookups: Consider changing the current clustered index, consider using a covering index, limit the number of columns in the SELECT statement.

* Filter: Remove any functions in the WHERE clause, dont include wiews[sic] in your Transact-SQL code, may need additional indexes.

* Sort: Does the data really need to be sorted? Can an index be used to avoid sorting? Can sorting be done at the client more efficiently? 

এগুলি এড়ানো সর্বদা সম্ভব নয় তবে আপনি এগুলি যত বেশি এড়াতে পারবেন তত দ্রুত ক্যোয়ারি পারফরম্যান্স হবে।


0
SET STATISTICS IO ON

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

এসকিউএল সূচী পরিবর্তন বা পুনরায় ফ্যাক্টরিং আসলে সহায়তা করছে যখন এটি আপনাকে গাইড করবে। "মিলিসেকেন্ড এক্সসেকিউশন টাইম" দেখে একই এসকিউএল এবং ক্যোয়ারী পরিকল্পনার সাথে পৃথক হতে পারে - লজিক্যাল রিডগুলি যে কোনও কোয়েরি পরিকল্পনার জন্য সামঞ্জস্যপূর্ণ থাকবে।

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


কিন্তু ক্যোয়ারী ক্যাশে না থাকাকালীন যে কোয়েরিগুলি চালিত হয় তাদের জন্য শারীরিক পাঠগুলি শূন্যের চেয়ে বেশি হবে, তাই না? আমার অর্থ, আপনি সবসময় এটি পেতে পারেন না, কারণ সমস্ত প্রশ্নের (বিশেষত অ্যাডহক কোয়েরি) ক্যাশে করা হয় না are আমি কি সঠিক?
টমাস স্ট্রিংগার

ডেটা ক্যাশিংয়ের যত্ন নেওয়ার জন্য @ Surfer513, আপনি বাফার পুল (ডেটা ক্যাশে) সাফ করার জন্য একটি ডিবিসিসি ড্রপক্লেইনবুফারদের পরে একটি চেকপয়েন্ট দিতে পারেন। নোট করুন যে এটি প্রত্যেকের জন্য বাফারগুলি সাফ করবে, সুতরাং এটি অনুসারে এটি ব্যবহার করুন (পরীক্ষার সিস্টেমে)।
স্ট্যানলি জনস

@ স্ট্যানলি জনস, আপনি কেন ডেটা / ক্যোয়ারী ক্যাশে সাফ করতে চান?
টমাস স্ট্রিংগার

এইভাবে শারীরিক আইও প্রতিবার একই হবে, যা পরীক্ষার জন্য প্রয়োজনীয় ধারাবাহিকতা দেয়। এটি ক্যোরির সূক্ষ্ম সুরক্ষায় সহায়তা করবে।
স্ট্যানলি জনস

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