সঠিক কোয়েরি পারফরম্যান্স কিভাবে পাবেন?


9

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

DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE

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


উত্তর:


9

এই আদেশ দুটি কাজ করে:

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

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

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

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

পর্দার আড়ালে আসলে কী ঘটছে সে সম্পর্কে আরও তথ্য পেতে আপনি এই আদেশগুলি ব্যবহার করতে পারেন:

SET STATISTICS IO ON
SET STATISTICS TIME ON

এগুলি আপনাকে ডিস্ক থেকে পৃষ্ঠা পড়ার বিষয়ে বিস্তারিত তথ্য দেয় (প্রতি বস্তুতে), লজিকাল পৃষ্ঠাটি পড়ে, একটি পরিকল্পনা তৈরি করতে সময় ব্যয় করে এবং একটি ক্যোয়ারী চালাতে ব্যয় করা সময়।


যথারীতি জেএনকে হিসাবে দুর্দান্ত উত্তর।
ওও

রররর্য! আপনি কেবল এমন জিনিসগুলির বিষয়ে প্রশ্ন জিজ্ঞাসা করছেন যা আমি অনেক কিছু নিয়ে এসেছি। আপনি যদি অনুলিপি বা মেমরি পরিচালনা সম্পর্কে জিজ্ঞাসা করেন তবে আমার বেশি যোগ করার দরকার নেই :)
জেএনকে

2
আমি সেট স্ট্যাটিসটিক্স আইও চালু সম্পর্কে জানতাম, তবে সেট স্ট্যাটাসটিকস টাইম চালু হওয়ার বিষয়ে আমি কখনই জানতাম না। ধন্যবাদ জেএনকে
ডেটাগড

2
কেবলমাত্র FYI আপনি এসকিউএল সেন্ট্রি প্ল্যান এক্সপ্লোরার ব্যবহার করে প্রকৃত পরিকল্পনা তৈরি করে সমস্ত এসইটি সেটিংস ছাড়াই এই তথ্য প্রচুর পেতে পারেন। এবং একাধিক (বলুন,) রান পেতে আপনি কেবল GO 5এসএসএমএসের মতো ব্যাচটি শেষ করতে পারেন । এটি একটি নিখরচায় ডাউনলোড, আমি আপনাকে কিছু বিক্রি করার চেষ্টা করছি না। sqlsentry.net/plan-explorer/sql-server-query-view.asp
হারুন বারট্রান্ড

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