VARCHAR列には制限がなく、mysqlでは最大ROW制限サイズ(65,535バイト)になる可能性があることを私は知っています。
VARCHAR列をインデックス可能にするための制限はありますか?またはそれはストレージエンジンに依存しますか?
はい、制限があります:
ドキュメントから-すべてのストレージエンジンは、テーブルごとに少なくとも16個のインデックスをサポートし、インデックスの合計の長さは少なくとも256バイトです。ほとんどのストレージエンジンには、より高い制限があります。
詳細情報-列インデックス。
この場合、インデックスのプレフィックス長を指定できます。例:-
CREATE TABLE table1 (
column1 VARCHAR(255) DEFAULT NULL,
UNIQUE KEY UK_table1_column1 (column1(10))
);