The article is missing important notions (and at risk of being misleading) about index storage and access.<p>It is correct that InnoDB indexes used to have a per-entry limit of 767 bytes; this is however the index <i>left prefix</i>. It means that one can still index longer strings, but infix/suffix index access can't be performed. Prefix index access can (limited to the number of chars).<p>Now, if one is indexing very long strings, they should really think twice about what they're doing, as some other data structures may be more appropriate. Indexing is a balancing act, and this is not a problem of MySQL, it's a inherent problem of database systems. One may think they're going to add a 2048-bytes index and speed up access, while they may be actually slowing down the system (ie. because full table scan may be faster, and the index slows down writing and query-optimizing).<p>To be noted that nowadays the limit is not 767 bytes, but 3072, at least, for the default row format[¹].<p>¹=<a href="https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/innodb-limits.html" rel="nofollow">https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/innodb-lim...</a>