এসকিউএল সার্ভার কী পদ্ধতিতে ডেটা ফলাফল ক্যাশে করে?


11

আমি এটি বন্ধুদের কাছ থেকে শুনেছি, তবে এটি সত্য কিনা তা আমি কখনও তদন্ত করে দেখিনি।

এটি কি সত্য যে মৃত্যুদণ্ডপ্রাপ্ত ক্যোয়ারির ডেটা ফলাফলগুলি ক্যাশে সঞ্চিত থাকে?

আমি বলতে চাইছি, যদি আমার কাছে সঞ্চিত পদ্ধতি থাকে তবে:

SELECT * FROM USERLIST

... এটি কি সত্য যে ফলাফল (ব্যবহারকারীদের তালিকা, এক্ষেত্রে) ক্যাশে সংরক্ষণ করা হয়।

এছাড়াও, যদি আমার এগুলি থাকে:

SELECT * FROM USERLIST WHERE user="user"
SELECT * FROM USERLIST WHERE user="userzzz"

(যার মধ্যে ব্যবহারকারী / ব্যবহারকারীজ্জেটগুলি প্যারামিটার হিসাবে পাস করা হয়), এটি কি সঠিক যে এটি ডাটাবেস ক্যাশে 2 টি পৃথক ফলাফল সঞ্চয় করে?

আমি এটি মনে করি না, তবে আমি আপনার কাছ থেকে নিশ্চয়তা চাই, বিশেষজ্ঞদের!


শুধু marc_s দ্বারা আপনাকে এখন বললেন stackoverflow.com/questions/8559443/...

উত্তর:


19

অনুসন্ধানের ফলাফলগুলি ক্যাশে করা হয় না

তবে উত্স সারণী এবং সূচী ডেটা এবং মেটাডেটা প্রথম ব্যবহারের পরে ক্যাশে করা হবে (যদিও অবিরত ব্যবহার, লোড এবং মেমরির চাপের সাপেক্ষে)

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

সংকলিত সম্পাদন পরিকল্পনাটি ক্যাশে করা হবে যা থেকে আমার সন্দেহ হয় যে বিভ্রান্তি আসে


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

@মার্জ্জেড: প্রায় সমস্ত এসকিউএল একটি বাস্তবায়ন পরিকল্পনায় সংকলিত হয়, সরাসরি আপডেট, নির্বাচন বা সঞ্চিত পদ্ধতি
জিবিএন

6

যখন কোনও সঞ্চিত পদ্ধতি কার্যকর করা হয় তখন এটি অনুকূলিত এবং সংকলিত হয় এবং কোয়েরি পরিকল্পনাটি পদ্ধতি ক্যাশে রাখা হয়।

প্রক্রিয়াগুলি অন্যান্য ব্যবহারকারীর জন্য ক্যাশে থাকে, যতক্ষণ জায়গা থাকে। সর্বাধিক ব্যবহৃত ব্যবহৃত (এলআরইউ) অ্যালগরিদম ব্যবহার করে পদ্ধতিগুলি সরানো হয়েছে।


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

সুতরাং, যা ক্যাশে রয়েছে তা হ'ল সঞ্চিত প্রক্রিয়া থেকে অনুকূলিত পরিকল্পনা এবং সঞ্চিত পদ্ধতির ফলাফল নয়।


6

যখন এসকিউএল সার্ভার দ্বারা কোনও ক্যোয়ারী প্রক্রিয়া করার জন্য প্রস্তুত হয়, এসকিউএল পরিচালকটি এটি সন্ধান করে cache; এবং যদি এটি সেখানে না থাকে তবে এটি অবশ্যই সংকলন করা উচিত। সংকলন প্রক্রিয়াটি কয়েকটি জিনিসকে অন্তর্ভুক্ত করে।

যখন কোনও সঞ্চিত পদ্ধতি কার্যকর করা হয় তখন এটি অনুকূলিত এবং সংকলিত হয়। এই অনুসারে একটি ক্যোয়ারী পরিকল্পনা পদ্ধতি ক্যাশে রাখা হয়।

মাইক্রোসফ্ট এসকিউএল সার্ভার কোয়েরি প্রসেসর ইন্টারনালস এবং আর্কিটেকচারের Compilation and Execution বিভাগটি কোয়েরি প্রসেসিং সম্পর্কিত বিস্তারিত তথ্যের জন্য দেখুন Check

সংকলন পর্বের শেষ পণ্যটি একটি ক্যোয়ারী পরিকল্পনা, যা পদ্ধতি ক্যাশেতে রাখা হয়। এসকিউএল কোয়েরি ফলাফল / ক্রিয়াকলাপটি এমবি, জিবি আকারের হতে পারে তাই এটি পদ্ধতি ক্যাশে বা ক্যোয়ারী পরিকল্পনায় রাখা হয়নি।

আপনার প্রশ্নটি পরিষ্কার করার জন্য সঞ্চিত পদ্ধতি প্রয়োগের জন্য নিম্নলিখিত চিত্রটি (এমএসডিএন থেকে) দেখুন: এখানে চিত্র বর্ণনা লিখুন


-1

এসকিউএল সার্ভার মূলত যে কোনও কোয়েরি (সঞ্চিত পদ্ধতি কল বা অ্যাড-হক এসকিউএল বিবৃতি) চালানোর জন্য এই পদক্ষেপগুলি অতিক্রম করে:

1) সিন্ট্যাক্টিকভাবে ক্যোয়ারীটি পরীক্ষা করুন
2) এটি ঠিক আছে কিনা - এটি ইতিমধ্যে সেই ক্যোয়ারির জন্য একটি এক্সিকিউশন প্ল্যান রয়েছে কিনা তা দেখার জন্য পরিকল্পনা ক্যাশেটি পরীক্ষা করে
3) যদি কোনও এক্সিকিউশন প্ল্যান থাকে - তবে সেই পরিকল্পনাটি (পুনরায়) ব্যবহৃত এবং ক্যোয়ারি কার্যকর করা হয়েছে
৪) যদি এখনও কোনও পরিকল্পনা না থাকে তবে একটি কার্যনির্বাহী পরিকল্পনা নির্ধারিত হয়
৫) যে পরিকল্পনাটি পুনরায় ব্যবহারের জন্য পরিকল্পনার ক্যাশে সংরক্ষণ করা হয়
)) কোয়েরি কার্যকর করা হয়

(মার্ক_স উত্তরের অনুলিপি)


-1

অন্যরা যেমন বলেছে, এসকিউএল সার্ভারে ক্যোয়ারির ফলাফলগুলি ক্যাশে হয় না।

আপনি যদি কোনও প্রশ্নের (বা একটি এসপি) ফলাফলগুলি ক্যাশে করতে চান তবে কার্যকারিতা রয়েছে। উদাহরণস্বরূপ, ব্রেন্ট ওজার ওয়েবসাইটে এই নিবন্ধটি দেখুন ।

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