MySQL স্টোরড জেনারেটেড কলাম এবং MySQL ভার্চুয়াল জেনারেটেড কলামের মধ্যে কিছু মূল পার্থক্য নিম্নরূপ:
ডিস্ক স্পেসের দিক থেকে
যদি ডিস্ক স্পেসের দিক থেকে পার্থক্য দেখি তবে ভার্চুয়াল জেনারেটেড কলাম কোনো ডিস্ক স্পেস নেয় না। অন্যদিকে, স্টোরড জেনারেটেড কলাম ডিস্ক স্পেস নেয়।
অপারেশনের দিক থেকে
অপারেশনের দিক থেকে পার্থক্য দেখলে ভার্চুয়াল জেনারেটেড কলাম INPLACE অপারেশন, অর্থাৎ টেবিল ডেফিনিশন পরিবর্তন হয় কিন্তু সমস্ত ডেটা পুনরা কপি করতে হয় না। অন্যদিকে, স্টোরড জেনারেটেড কলাম একটি কপি অপারেশন এবং এর খরচ টেবিলে একটি নতুন কলাম যোগ করার খরচের সমান।
গণনার দিক থেকে
ভার্চুয়াল জেনারেটেড কলামে মানগুলো রিড অপারেশনের সময় এবং BEFORE ট্রিগার-এর আগে ফ্লাইতে গণনা করা হয়। অন্যদিকে, স্টোরড জেনারেটেড কলামে মানগুলো প্রতিটি INSERT এবং UPDATE স্টেটমেন্টে আপডেট হয়।
কখন ব্যবহার করবেন
যেখানে ডেটা đáng Hafte পরিবর্তিত হয়, সেখানে ভার্চুয়াল কলাম ব্যবহার করা উচিত। ভার্চুয়াল কলামের খরচ আসে টেবিল বারবার পড়ার সময় এবং সার্ভারকে প্রতিবার সেই কলামের মান কম্পিউট করতে হয়। অন্যদিকে, যেখানে ডেটা তৈরি হওয়ার পর উল্লেখযোগ্যভাবে পরিবর্তিত হয় না বা একদমই নয়, সেখানে স্টোরড কলাম ব্যবহার করা উচিত।