আপনি 3 ধরণের টিউনিং, ১ টি প্রতিক্রিয়াশীল এবং ২ টি প্র্যাকটিভ করতে যাচ্ছেন।
প্রতিক্রিয়াশীল
নীলার বাইরে, কিছু ক্যোয়ারী আপনাকে সমস্যার কারণ হতে শুরু করে। এটি কোনও অ্যাপ্লিকেশন বাগ বা বৈশিষ্ট্য, প্রত্যাশার চেয়ে বাড়তি একটি টেবিল, ট্র্যাফিক স্পাইক বা ক্যোরি অপ্টিমাইজার "ক্রিয়েটিভ" হওয়ার কারণে এটি হতে পারে। এটি মধ্যরাতের রাতের ওহ-ক্র্যাপ-সাইটের সাইটের ডাউন ধরণের বিষয় হতে পারে, বা এটি একটি অ-সমালোচিত প্রকৃতির সিস্টেমের স্লোনেসের প্রতিক্রিয়া হিসাবে হতে পারে। যে কোনও উপায়ে, প্রতিক্রিয়াশীল টিউনিংয়ের সংজ্ঞা নির্ধারণকারী চরিত্রটি হ'ল আপনার ইতিমধ্যে একটি সমস্যা আছে । বলা বাহুল্য, আপনি যতটা সম্ভব এই কাজটি করতে চান little যা আমাদের কাছে নিয়ে আসে ...
প্ররোচক
প্রকার 1: রুটিন রক্ষণাবেক্ষণ
কোনও ধরণের সময়সূচীতে, আপনার স্কিমাটি কতবার পরিবর্তিত হয় এবং আপনার ডেটা কত দ্রুত বৃদ্ধি পায় তার উপর নির্ভর করে আপনার কয়েক মাস বা সপ্তাহে আপনার ডাটাবেসের কর্মক্ষমতা বিশ্লেষণ সরঞ্জামগুলির আউটপুট পর্যালোচনা করা উচিত (উদাহরণস্বরূপ ওরাকল ডিবিএর জন্য এডাব্লুআর রিপোর্ট)। আপনি অনিবার্য সমস্যাগুলি সন্ধান করছেন, এটি হ'ল এমন জিনিস যা প্রতিক্রিয়াশীল টিউনিংয়ের পাশাপাশি তাদের কম ঝুলন্ত ফল, এমন আইটেমগুলি যা খুব শীঘ্রই সমস্যার কারণ হতে পারে না তবে প্রতিরোধের আশায় সামান্য প্রচেষ্টা দিয়ে উন্নতি করতে পারে - ভবিষ্যতের সমস্যা আপনার কতটুকু সময় ব্যয় করা উচিত তা আপনার কতটা সময়, এবং আপনি কী আরও ব্যয় করতে পারেন তার উপর নির্ভর করবে তবে সর্বোত্তম পরিমাণটি কখনও শূন্য নয়। তবে আপনি আরও বেশি কিছু করে ব্যয় করতে প্রয়োজনীয় পরিমাণটি খুব সহজেই হ্রাস করতে পারেন ...
প্রকার 2: সঠিক নকশা
"অকাল অপ্টিমাইজেশন" এর বিরুদ্ধে নথের উপদেশ ব্যাপকভাবে পরিচিত এবং যথাযথভাবে সম্মানিত। তবে "অকাল" এর সঠিক সংজ্ঞা ব্যবহার করতে হবে। কিছু অ্যাপ্লিকেশন বিকাশকারীদের, যখন তাদের নিজস্ব প্রশ্নগুলি লেখার অনুমতি দেওয়া হয়েছে, তখন তারা যে তাত্ক্ষণিকভাবে সঠিক হয়েছিল তার উপর প্রথম যে ক্যোয়ারীটি গ্রহণ করেছে সেগুলি গ্রহণ করার প্রবণতা রয়েছে এবং পারফরম্যান্স, বর্তমান বা ভবিষ্যতের বিষয়ে কোনও মন দেবে না। অথবা তারা এমন ডেভলপমেন্ট ডেটার সেটগুলির বিরুদ্ধে পরীক্ষা করতে পারে যা কেবল উত্পাদন পরিবেশের প্রতিনিধিত্ব করে না (টিপ: এটি করবেন না! বিকাশকারীদের সর্বদা পরীক্ষার জন্য বাস্তবসম্মত ডেটাতে অ্যাক্সেস থাকা উচিত))। মুল বক্তব্যটি হ'ল কোনও ক্যোয়ারী টিউন করার উপযুক্ত সময় হ'ল এটি যখন প্রথম মোতায়েন করা হয়, যখন এটি দুর্বল-সম্পাদনকারী এসকিউএল এর তালিকায় প্রদর্শিত হয় না এবং যখন এটি কোনও সমালোচনামূলক সমস্যার কারণ হয় অবশ্যই না।
সুতরাং ডিবিএ জমিতে অকাল অপটিমাইজেশন হিসাবে কী যোগ্যতা অর্জন করবে? আমার তালিকার শীর্ষে কোনও প্রদর্শিত প্রয়োজন ছাড়াই স্বাভাবিককরণের ত্যাগ করতে হবে। নিশ্চিত যে আপনি সন্তানের সারি থেকে রানটাইম সময়ে এটি গণনা করার চেয়ে পিতামাতার সারিতে একটি যোগফল বজায় রাখতে পারবেন তবে আপনার কি সত্যিই প্রয়োজন? আপনি যদি টুইটার বা অ্যামাজন হন তবে কৌশলগত ডি-নরমালাইজেশন এবং প্রাক-গণনা আপনার সেরা বন্ধু হতে পারে। আপনি যদি 5 জন ব্যবহারকারীর জন্য একটু অ্যাকাউন্টিং ডেটাবেস ডিজাইন করেন তবে ডেটা অখণ্ডতার সুবিধার জন্য উপযুক্ত কাঠামোটিকে সর্বোচ্চ অগ্রাধিকার দেওয়া দরকার। অন্যান্য অকাল অপটিমাইজেশন একইভাবে অগ্রাধিকারের বিষয়। দিনে একবার চালানো হয় এবং 10 সেকেন্ড সময় নেয় এমন ক্যোয়ারী টিকেট করার জন্য ঘন্টা ব্যয় করবেন না, এমনকি যদি আপনি মনে করেন যে আপনি এটি 0.1 সেকেন্ডে কাটতে পারেন। হয়তো আপনার একটি প্রতিবেদন রয়েছে যা প্রতিদিন 6 ঘন্টা চালিত হয়, তবে এটির টিউনিংয়ে সময় বিনিয়োগের আগে এটি একটি ব্যাচের কাজ হিসাবে সময় নির্ধারণ করে। যদি আপনার উত্পাদন বোঝা কখনই 10% এর উপরে না ভরে থাকে (ধরে নিলে আপনি সুরক্ষাটি পরিচালনা করতে পারেন) কোনও পৃথক, রিয়েল-টাইম প্রতিলিপিযুক্ত প্রতিবেদনে বিনিয়োগ করবেন না।
বাস্তবসম্মত তথ্যের বিরুদ্ধে পরীক্ষা করে, বৃদ্ধি এবং ট্র্যাফিকের ধরণগুলিতে শিক্ষিত অনুমান (প্লাসের জন্য স্পাইসের জন্য ভাতা) গ্রহণ এবং আপনার প্ল্যাটফর্মের অপটিমাইজার কুইকগুলি সম্পর্কে আপনার জ্ঞান প্রয়োগ করে, আপনি কেবলমাত্র এখনই নয়, ভবিষ্যতে সর্বাধিক চলমান ক্যারিগুলি স্থাপন করতে পারেন , এবং কম-আদর্শ অবস্থার অধীনে। আপনি যখন যথাযথ কৌশল প্রয়োগ করেন তখন ক্যোয়ারি পারফরম্যান্সটি যথাযথভাবে পূর্বাভাস দেওয়া যায় এবং অনুকূলিত করা যায় (প্রতিটি উপাদান যতটা দ্রুত হওয়া দরকার তত দ্রুত)।
(এবং আপনি যখন এটির সময়ে, পরিসংখ্যান শিখুন! )