নির্দিষ্ট ব্যবহারকারীদের জন্য ক্যোয়ারী ধীর গতির


11

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

ঠিক একই প্রশ্নটি বিভিন্ন ব্যবহারকারীর জন্য আলাদাভাবে চালিত করার কারণ কি?

অধিক তথ্য:

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

2
নিম্নলিখিত প্রশ্নগুলি পরীক্ষা করুন । আপনি দেখতে পাবেন আপনি একই পরিস্থিতিতে আছেন। প্রথম চেষ্টা বলা যাক এই এক এবং এই অন্যটি
মারিয়ান

3
ধীর ক্যোয়ারি (আইএস) এর অপেক্ষার প্রকারগুলি (sys.dm_os_waiting_tasks) কী কী এবং এছাড়াও প্রতিটি (আপনার দ্রুত, তাদের ধীর) বাস্তবিক প্রয়োগগুলি কী কী?
টমাস স্ট্রিংগার

2
পূর্ববর্তী মন্তব্যে একমত আমার প্রথম চিন্তাটি পরামিতিগুলিও স্নিগ্ধ হবে। পরিকল্পনাগুলি পৃথক কিনা তা পরীক্ষা করা প্রথম পদক্ষেপ হওয়া উচিত।
মার্টিন স্মিথ

4
যদি প্যারামিটারগুলি একই থাকে (আমি যা বোঝাতে চাইছি তা বোঝাচ্ছি exact same query), এটি পরামিতি স্নিফিং করা উচিত নয় (ব্যবহারকারীরা ভুল পরামিতিগুলির জন্য একটি খারাপ পরিকল্পনা পান) তবে ব্যবহারকারীরা একই প্যারামিটারের জন্য বিভিন্ন পরিকল্পনা পাচ্ছেন (গুলি)। এটির মতো quoted_identifierএবং দ্রুত ব্যবহারকারী এবং ধীর ব্যবহারকারীর জন্য arithabortআপনি যে তুলনা করতে পারেন sys.dm_exec_sessionsসেটির কারণ হতে পারে বা এটি হতে পারে কারণ তাদের আলাদা আলাদা ডিফল্ট স্কিমার এবং অবজেক্টগুলি স্কিমা উপসর্গ ব্যতীত রেফারেন্স করা হয়েছে। প্যারামিটার স্নিফিং এখনও জড়িত থাকতে পারে (তাই কেন তাদের মধ্যে একটির পরিকল্পনা খারাপ)।
অ্যারন বারট্র্যান্ড

1
পুনরায়: আপনার সম্পাদনাতে কি অন্যান্য ব্যবহারকারীদের মতো একই ডিফল্ট স্কিমা রয়েছে? আপনি কি এখনও ধীর এবং দ্রুত রান করার জন্য মৃত্যুদন্ড কার্যকর করার পরিকল্পনাগুলি ক্যাপচার করেছেন?
মার্টিন স্মিথ

উত্তর:


5

যদি প্যারামিটারগুলি একই থাকে (আমি যা বোঝাতে চাইছি তা বোঝাচ্ছি exact same query), এটি পরামিতি স্নিফিং করা উচিত নয় (ব্যবহারকারীরা ভুল পরামিতিগুলির জন্য একটি খারাপ পরিকল্পনা পান) তবে ব্যবহারকারীরা একই প্যারামিটারের জন্য বিভিন্ন পরিকল্পনা পাচ্ছেন (গুলি)। এটির মতো quoted_identifierএবং দ্রুত ব্যবহারকারী এবং ধীর ব্যবহারকারীর জন্য arithabortআপনি যে তুলনা করতে পারেন sys.dm_exec_sessionsসেটির কারণ হতে পারে বা এটি হতে পারে কারণ তাদের আলাদা আলাদা ডিফল্ট স্কিমার এবং অবজেক্টগুলি স্কিমা উপসর্গ ব্যতীত রেফারেন্স করা হয়েছে। প্যারামিটার স্নিফিং এখনও জড়িত থাকতে পারে (তাই কেন তাদের মধ্যে একটির পরিকল্পনা খারাপ)।


3

আমি এর দুটি কারণ দেখেছি: 1, প্যারামিটার স্নিফিং 2, সংযোগ সেটিংস আলাদা। আপনি যদি চালিত হন , এটি আপনাকে বিভিন্ন সংযোগের বৈশিষ্ট্য প্রদর্শন করবে। আমার আসলে এটির উপরে একটি ব্লগ পোস্ট রয়েছে, তবে আমি এটির সংস্থার নির্দিষ্ট তথ্য সাফ করি নি। (না আমি এখনও আমার ব্লগ সক্ষম করেছি);)


0

চেষ্টা করুন: প্রতিটি এক্সইসি এবং সারণী রেফারেন্সে স্কিমা উল্লেখ করুন। উদাহরণস্বরূপ, EXEC dbo.MyProc

দ্বন্দ্ব হতে পারে (মার্টিন স্মিথের পরামর্শ অনুসারে - 'একই ডিফল্ট স্কিমা'?) বা পুনরায় সংশোধন করতে পারে


0

এটি এসকিউএল সার্ভারে একটি ত্রুটি বলে মনে হচ্ছে। আমি এই বাগটি এসকিউএল সার্ভার ২০০৮-এর সাথে অনুভব করি I আমি নতুন সংস্করণ পরীক্ষা করিনি। আমি প্রশাসক হিসাবে লগ ইন করতে এবং এই ক্যোয়ারীটি চালাতে পারি এবং 0 সেকেন্ডে একটি প্রতিক্রিয়া পেতে পারি:

select ROUTINE_NAME from INFORMATION_SCHEMA.ROUTINES ORDER BY ROUTINE_NAME

তারপরে আমি কম অনুমতি নিয়ে একজন ব্যবহারকারী হিসাবে লগ ইন করেছি, একই একই ক্যোয়ারীটি চালাচ্ছি এবং প্রতিক্রিয়াটি 45 সেকেন্ড সময় নেয়।

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


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

আপনার উত্তরে আপনি যে সমস্যাটি চিহ্নিত করেছেন তা এসকিউএল সার্ভার ২০০৮ এ পুনরাবৃত্তিযোগ্য নয় বলে মনে হয় select ROUTINE_NAME from INFORMATION_SCHEMA.ROUTINES ORDER BY ROUTINE_NAMEconsistent
ম্যাক্স ভার্নন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.