এটি অপ্টিমাইজারটিকে আরও বেশি বা সর্বদা প্রয়োজন দেওয়া কি সম্ভব?


18

প্রদত্ত যে অপ্টিমাইজারটি প্রয়োজনীয় সমস্ত সময় নিতে পারে না (এটি কার্যকর করার সময়টি হ্রাস করতে এবং এতে অবদান রাখতে হবে না) এটি কার্যকর হওয়ার সম্ভাব্য সমস্ত পরিকল্পনা খতিয়ে দেখার জন্য এটি কখনও কখনও বিচ্ছিন্ন হয়ে যায়।

আমি ভাবছিলাম যে এটিকে ওভাররাইড করা যেতে পারে যাতে আপনি প্রয়োজন অনুযায়ী অপটিমাইজারকে সমস্ত সময় দিতে পারেন (বা একটি নির্দিষ্ট পরিমাণ মিলিসেকেন্ড)।

আমার এটির (এটিএম) প্রয়োজন নেই তবে আমি এমন একটি দৃশ্যের কল্পনা করতে পারি যেখানে একটি জটিল ক্যোয়ারী আঁট লুপে কার্যকর করা হয় এবং আপনি অনুকূল পরিকল্পনার সাথে আসতে চান এবং হাতের সামনে এটি ক্যাশে করতে চান।

অবশ্যই এটি আপনার কাছে একটি শক্ত লুপ রয়েছে যাতে আপনার ক্যোয়ারীটি পুনরায় লেখা উচিত যাতে এটি চলে যায় তবে আমার সাথে সহ্য করুন।

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

দেখা যাচ্ছে যে আপনি অপটিমাইজারটিকে ট্রেস পতাকা 2301 দিয়ে আরও সময় দিতে পারেন I এটি আমি যা বলছিলাম ঠিক তা নয় তবে এটি কাছে এসে পড়ে।

ইয়ান জোসে লিখেছেন এসকিউএল সার্ভার 2005 এসপি 1-কোয়েরি প্রসেসর মডেলিং এক্সটেনশনে এটি সম্পর্কে আমি যে সর্বোত্তম তথ্য পেয়েছি তা হ'ল ।

যত্ন সহ এই ট্রেস পতাকা ব্যবহার করুন! তবে আরও ভাল পরিকল্পনা নিয়ে এলে এটি কার্যকর হতে পারে। আরো দেখুন:

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

উত্তর:


16

ফ্ল্যাগ 2301 এর পাশে, এখানে ৮80০০ রয়েছে যা অপ্টিমাইজারটিকে 'আরও কঠোর পরিশ্রম' করে তোলে কারণ এটি করার জন্য এটি আরও বেশি সময় দেয় (সীমাহীন নয়, এখানে বর্ণিত (রাশিয়ান) এবং এখানে কম বিশদ বিবরণ দেওয়া হয়েছে ) এর কাজটি করার জন্য।

রাশিয়ান নিবন্ধটির মূল লেখকের ইংরেজিতে বিশদ বিবরণ। এতে লেখকের নিজস্ব সতর্কতা অন্তর্ভুক্ত রয়েছে:

এটি উত্পাদন কখনও ব্যবহার করার পরামর্শ দেওয়া হয় না

দু'টির সংমিশ্রণ এবং সেগুলি প্রয়োগ করুন (খুব নির্বাচিতভাবে ইঙ্গিতটি ইঙ্গিত বিকল্পের মাধ্যমে (QUERYTRACEON 2301, QUERYTRACEON 8780) 4-স্তরের নেস্টেড ইনলাইন টিভিএফ-এর কোয়েরিতে (যেখানে নীচের অংশে কেবলমাত্র কোনও আসল কাজ করবে এবং উপরের স্তরগুলি ফলাফলের সাথে সম্পর্কিত হবে) উপস্থিতি সাবকিউয়ের মাধ্যমে) ফলাফলটি একটি দুর্দান্ত মার্জিন জয়েন এবং বেশ কয়েকটি অলস স্পোলগুলিতে পরিণত হয়েছিল যা মৃত্যুদন্ড কার্যকর করার সময়টিকে অর্ধেক করে দেয়।


4

না, আপনি পারবেন না।

এটি কীভাবে কাজ করে তা বুঝতে পেরে আপনি আপনার প্রশ্নগুলিকে "অপটিমাইজার-বান্ধব" করতে পারেন (জটিল জন্তু, এটি ভিতরে জানার প্রয়োজন নেই)। আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি যদি এমন কিছু সময় সমালোচনা করেন তবে এসকিউএল সার্ভার কীভাবে পরিচালনা করে তার পরিবর্তে কোয়েরিটি ঠিক করুন।

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

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