"The advantages of using a CHAR type specially for very short strings is that it can actually use less space because it doesn't need to store the size information and it's not prone to fragmentation." When you mention row fragmentation while comparing char and VARCHAR, you mean storing some columns in off-page storage (overflow pages), right? If so, the CHAR type can also be fragmented when using a CHAR(255) in utf8mb4 character set (default in MySQL) which has a max of 4 bytes per character (4*255=1020 > 768). Fixed-length fields greater than or equal to 768 bytes are encoded as variable-length fields. So the CHAR type is actually prone to fragmentation. https://dev.mysql.com/doc/refman/8.3/en/innodb-row-format.html#innodb-row-format-dynamic Correct me if I am wrong or misunderstood. By the way, I am really enjoying the series so far.
