মাইআইএসএএম বা ইনোডিবি-র বিষয়ে সিদ্ধান্ত নেওয়ার আগে আপনাকে উভয় স্টোরেজ ইঞ্জিনের উপর নজর রাখতে হবে প্রতিটি ক্যাশে কীভাবে হয় তার দিক থেকে
MyISAM
যখন পড়া হয়, একটি মাইআইএসএএম টেবিলের সূচকগুলি .MYI ফাইল থেকে একবারে পড়তে পারে এবং মাইআইএসএএম কী ক্যাশে ( কী_বফার_ আকারের আকার হিসাবে ) লোড করা যায় । আপনি কীভাবে মাইআইএসএএম টেবিল তৈরি করতে পারেন? এমআইডি দ্রুত পড়তে পারেন? এর সাথে:
ALTER TABLE mytable ROW_FORMAT=Fixed;
আমি আমার আগের পোস্টগুলিতে এ সম্পর্কে লিখেছিলাম
InnoDB
ঠিক আছে, ইনোডিবি সম্পর্কে কী? InnoDB কি অনুসন্ধানের জন্য কোনও ডিস্ক I / O করে? আশ্চর্যের বিষয় হ্যাঁ এটা করে !! আপনি সম্ভবত ভাবছেন যে আমি এটি বলার জন্য পাগল, তবে এটি একেবারে সত্য, এমনকি নির্বাচনী প্রশ্নের জন্যও । এই মুহুর্তে, আপনি সম্ভবত ভাবছেন "বিশ্বে ইনোডিবি কীভাবে অনুসন্ধানের জন্য ডিস্ক I / O করছে?"
এটি সবই এসিআইডি- অভিযোগ অভিযোগে ট্রানজেকশনাল স্টোরেজ ইঞ্জিন হয়ে ইনোডিবিতে ফিরে যায় । InnoDB জন্য অর্ডার লেনদেনগত হতে, এটা সমর্থন করেছেন I
মধ্যে ACID
, যা বিচ্ছিন্নতা নয়। লেনদেনের জন্য বিচ্ছিন্নতা বজায় রাখার কৌশলটি এমভিসিসি, মাল্টিভেরিশন কনকুরিঞ্জি নিয়ন্ত্রণের মাধ্যমে করা হয় । সহজ কথায়, লেনদেনগুলি পরিবর্তনের চেষ্টা করার আগে ইনোডিবি কী ডেটা দেখতে দেখতে রেকর্ড করে। কোথায় রেকর্ড করা যায়? সিস্টেম টেবিল স্পেস ফাইলে, আইবডাটা 1 হিসাবে বেশি পরিচিত। এর জন্য ডিস্ক I / O প্রয়োজন ।
তুলনা
যেহেতু ইনোডিবি এবং মাইআইএসএএম উভয়ই ডিস্ক আই / ও করেন, তাই এলোমেলো কারণগুলি কোনটি দ্রুত নির্দেশ করে?
- কলামের আকার
- কলাম ফর্ম্যাট
- চরিত্রের সেট
- সংখ্যার মানগুলির ব্যাপ্তি (যথেষ্ট পরিমাণে বড় আইএনটি প্রয়োজন)
- ব্লকগুলি জুড়ে বিভক্ত হওয়া সারিগুলি (সারি চেইন)
- ডেটা ফ্র্যাগমেন্টেশন
DELETEs
এবং এর ফলে ঘটেUPDATEs
- প্রাইমারি কী এর আকার (InnoDB এর একটি ক্লাস্টারড ইনডেক্স রয়েছে, যার জন্য দুটি মূল অনুসন্ধান প্রয়োজন)
- সূচকের এন্ট্রিগুলির আকার
- তালিকাটি চলছে ...
উপসংহার
সুতরাং, ভারী-পঠন পরিবেশে, মাইআইএসএএম টেবিলের জন্য একটি ফিক্সড রো ফর্ম্যাটটি সহকারে আইএনডিবি বাফার পুলের বাইরে থাকা আইএনডিবি বাফার পুলের বাইরে পড়া সম্ভব হয়, যদি লেনদেনের আচরণকে সমর্থন করার জন্য ইবদাটা 1-র মধ্যে থাকা পূর্বাবস্থায় লগগুলিতে পর্যাপ্ত তথ্য লেখা থাকে is InnoDB ডেটা উপর চাপানো। আপনার ডেটা ধরণের, ক্যোয়ারী এবং স্টোরেজ ইঞ্জিনটি যথাযথভাবে পরিকল্পনা করুন। ডেটা বড় হওয়ার পরে, ডেটাটি প্রায় সরানো খুব কঠিন হয়ে উঠতে পারে।
যাইহোক, আমি 5 দিন আগে এই জাতীয় কিছু লিখেছিলাম: আমি কীভাবে মাইএসকিউএল এর জন্য একটি মেমরি সীমা নির্ধারণ করব?