একটি আনুমানিক এক্সিকিউশন প্ল্যান প্রদর্শন করানো CXPACKET, PAGELATCH_SH, এবং LATCH_EX [ACCESS_METHODS_DATASET_PARENT] অপেক্ষা করে


13

আমি একটি 4, vCPU VM- র উপর মাইক্রোসফট SQL সার্ভার 2016 জন্য SP2-CU6 (13.0.5292.0) চলছি সঙ্গে max degree of parallelismসেট 2এবং cost threshold for parallelismসেট 50

সকালে, যখন আপনি নির্বাচিত শীর্ষ ১০০ কোয়ের জন্য একটি আনুমানিক নির্বাহী পরিকল্পনাটি প্রদর্শনের চেষ্টা করার সময় , আমি প্রচুর অপেক্ষায় চলে যাই এবং আনুমানিক পরিকল্পনাটি রেন্ডার করতে অপারেশনটি কয়েক মিনিট সময় নেয়, প্রায়শই 5 - 7 মিনিটের পরিসরে যায়। আবার এটি ক্যোয়ারির প্রকৃত বাস্তবায়ন নয়, এটি কেবলমাত্র একটি প্রাক্কলনমূলক বাস্তবায়ন পরিকল্পনা প্রদর্শন করার প্রক্রিয়া ।

sp_WhoIsActiveপারেন দেখাবে PAGEIOLATCH_SHঅপেক্ষা করছে বা LATCH_EX [ACCESS_METHODS_DATASET_PARENT]অপেক্ষা করছে এবং আমি চালানোর পল Randal এর WaitingTasks.sql অপারেশনের সময় লিপি এটা দেখায় CXPACKETকর্মী থ্রেড দেখানো অপেক্ষা করছে PAGEIOLATCH_SHঅপেক্ষা করছে:

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

* সংস্থান বিবরণ ক্ষেত্র = exchangeEvent id=Port5f6069e600 WaitType=e_waitPortOpen waiterType=Coordinator nodeId=1 tid=0 ownerActivity=notYetOpened waiterActivity=waitForAllOwnersToOpen

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

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

উত্তর:


13

এটি প্রকৃত বাস্তবায়ন পরিকল্পনার ট্রিগার স্ট্যাটাস আপডেটের জন্য আপনার অনুরোধ হিসাবে উপস্থিত হয়। যেহেতু আপনি উল্লেখ করেছেন যে সকালে এটি ঘটেছিল, আমি কল্পনা করেছি যে রাতারাতি এমন একটি প্রক্রিয়া রয়েছে যা এতে জড়িত টেবিলগুলিতে অনেকগুলি পরিবর্তন করে?

সুতরাং এসকিউএল সার্ভার পরিকল্পনাটি তৈরি করতে পরিসংখ্যানগুলি ব্যবহার করে, পরিবর্তনের প্রান্তরে গিয়েছে এবং অপারেশনের অংশ হিসাবে স্বয়ংক্রিয় পরিসংখ্যান আপডেটগুলি কার্যকর করে।

আপনার ভাগ করা অনুমানিত পরিকল্পনার জন্য এক্সএমএলে, আমি আজ সকাল থেকে পরিসংখ্যানগুলির জন্য এইগুলি একত্রে আপডেটের তারিখগুলি দেখতে পাচ্ছি:

LastUpdate="2019-05-06T09:12:49.92"
LastUpdate="2019-05-06T09:12:58.3"
LastUpdate="2019-05-06T09:13:20.33"
LastUpdate="2019-05-06T09:13:09.67"
LastUpdate="2019-05-06T09:12:59.05"
LastUpdate="2019-05-06T09:12:39.56"

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


9

আমি যখন এসএসএমএসে দীর্ঘ অনুমানের পরিকল্পনার সময়গুলি দেখি তখন এটি সম্ভাবনার ক্রমে নিম্নলিখিতগুলির মধ্যে একটি:

  1. ক্যোয়ারী অপ্টিমাইজার সিদ্ধান্ত নিয়েছে যে এটি পরিসংখ্যান তৈরি বা আপডেট করা প্রয়োজন।
  2. আনুমানিক পরিকল্পনার আকার খুব বড় (বলুন,> 10 মেগাবাইট) এবং এটি এসএসএমএসকে প্রদর্শন করতে এটি দীর্ঘ সময় নেয়।
  3. ভাল সংকল্পের জন্য সিপিইউ ব্যবহারের কারণে ক্যোয়ারী সংকলন নিজেই প্রকৃতপক্ষে দীর্ঘ সময় নিয়েছিল।
  4. সার্ভার চূড়ান্ত স্থবিরতার অধীনে। উদাহরণস্বরূপ, আমাকে একটি গেটওয়ে উপলব্ধ হওয়ার জন্য অপেক্ষা করতে হতে পারে।
  5. বিভিন্ন বাগ যা চূড়ান্তভাবে চলমান সংকলনের সময় বাড়ে।

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

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

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

এসকিউএল সার্ভার 2019 একটি নতুন অপেক্ষার প্রকার, WAIT_ON_SYNC_STATISICS_REFRESH প্রবর্তন করে , যখন প্রশ্নের জন্য স্ট্যাটাস আপডেটের অপেক্ষায় থাকে। এই সংস্করণে এই সমস্যাটি নির্ণয় করা অনেক সহজ। ততক্ষণে আপনাকে কেবল পরোক্ষ কৌশলগুলিতে নির্ভর করতে হবে।

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

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