কম্পিউটার

কিভাবে MySQL সঞ্চিত জেনারেটেড কলাম MySQL ভার্চুয়াল জেনারেটেড কলাম থেকে আলাদা?


MySQL সঞ্চিত জেনারেটেড কলাম এবং MySQL ভার্চুয়াল জেনারেটেড কলাম -

ডিস্ক স্পেসের পরিপ্রেক্ষিতে

যদি আমরা ডিস্ক স্পেসের ক্ষেত্রে পার্থক্য দেখি তাহলে ভার্চুয়াল জেনারেটেড কলামগুলি কোনো ডিস্ক স্পেস নেবে না। অন্যদিকে, সঞ্চিত জেনারেটেড কলামটি ডিস্কে স্থান নেবে।

অপারেশনের পরিপ্রেক্ষিতে

যদি আমরা অপারেশনের পরিপ্রেক্ষিতে পার্থক্য দেখি তাহলে ভার্চুয়াল জেনারেট করা কলামগুলি হল INPLACE অপারেশন যার মানে হল যে সমস্ত ডেটা পুনরায় কপি না করেই টেবিলের সংজ্ঞা পরিবর্তন করা হয়েছে৷ অন্যদিকে, সঞ্চিত জেনারেটেড কলামগুলি হল একটি কপি অপারেশন এবং টেবিলে একটি নতুন কলাম যুক্ত করার জন্য এটির একই খরচ৷

গণনার পরিপ্রেক্ষিতে

ভার্চুয়াল জেনারেট করা কলামগুলিতে রিডিং অপারেশনের সময় এবং ট্রিগারের আগে মানগুলি ফ্লাইতে গণনা করা হয়৷ অন্যদিকে, সঞ্চিত জেনারেটেড কলামের মানগুলি প্রতিটি INSERT এবং UPDATE বিবৃতিতে আপডেট করা হয়৷

কখন ব্যবহার করতে হবে

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


  1. মাইএসকিউএল-এর দুটি কলাম থেকে সর্বোচ্চ মানের অর্ডার কীভাবে করবেন?

  2. কিভাবে একটি MySQL ক্যোয়ারী ব্যবহার করে বিভিন্ন কলাম এবং একটি অতিরিক্ত স্ট্রিং থেকে স্ট্রিং সংযুক্ত করবেন?

  3. ORDER BY দিয়ে দুটি ভিন্ন টেবিল থেকে দুটি ভিন্ন কলাম প্রদর্শন করবেন?

  4. MySQL এ বিভিন্ন টেবিল থেকে কলাম সংযুক্ত করুন