কম্পিউটার

MySQL VARCHAR সর্বোচ্চ আকার কত?


5.0.3 এর আগের MySQL সংস্করণটি 255টি অক্ষর সংরক্ষণ করতে সক্ষম ছিল কিন্তু সংস্করণ 5.0.3 থেকে, এটি 65,535টি অক্ষর সংরক্ষণ করতে সক্ষম৷

MySQL অফিসিয়াল ডকুমেন্টেশনে বলা হয়েছে -

MySQL 5.0.3 এবং পরবর্তীতে VARCHAR-এর কার্যকর সর্বাধিক দৈর্ঘ্য সর্বাধিক সারির আকার (65,535 বাইট, যা সমস্ত কলামের মধ্যে ভাগ করা হয়) এবং ব্যবহৃত অক্ষর সেটের সাপেক্ষে। উদাহরণস্বরূপ, utf8 অক্ষরগুলির জন্য প্রতি অক্ষর তিন বাইট পর্যন্ত প্রয়োজন হতে পারে, তাই একটি VARCHAR কলাম যা utf8 অক্ষর সেট ব্যবহার করে তাকে সর্বাধিক 21,844 অক্ষর বলে ঘোষণা করা যেতে পারে।

মনে রাখবেন যে সর্বাধিক সারি আকারের সীমাবদ্ধতা হল 65,535 বাইট৷ এটি বলে যে সমস্ত কলাম সহ এটি 65,535 বাইটের বেশি হওয়া উচিত নয়৷

এই লঙ্ঘন হলে কি হয় দেখা যাক −

এখানে দুটি কলাম সহ একটি টেবিল রয়েছে, "এক" ভারচার যার দৈর্ঘ্য 32,765 এবং "দুই" 32766।

দৈর্ঘ্য =32765+2 + 32766 + 2 =65535।

CREATE TABLE IF NOT EXISTS `mytable` (
`one` varchar(32765) NOT NULL,
`two` varchar(32766) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

এখন কলামের দৈর্ঘ্য বাড়াই -

CREATE TABLE IF NOT EXISTS `mytable` (
`one` varchar(32767) NOT NULL,
`two` varchar(32770) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

উপরে নিম্নলিখিত ত্রুটি দেয় -

#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

উপরে নিজেই বলে যে −

The maximum row size is 65,535 bytes. If it exceeds, an error will be visible.

  1. মাইএসকিউএল ওরফে শর্টহ্যান্ড কি?

  2. MySQL-এ varchar ক্ষেত্র থেকে সর্বোচ্চ মান পাওয়া

  3. MySQL-এ varchar ক্ষেত্রের আকার প্রসারিত করা কি এর ভিতরের ডেটাকে প্রভাবিত করবে?

  4. পাইথনে তালিকার সর্বোচ্চ আকার কত?