mysql:13698
From: "Tetsuro IKEDA" <"Tetsuro IKEDA" <ikdttr@xxxxxxxxxx>>
Date: Mon, 29 Jan 2007 10:23:06 +0900
Subject: [mysql 13698] Re: UNIQUEの最大バイト数の変更
こんにちは。池田@住商情報システムです。 代わりに部分インデックスを使ってみてはどうでしょう? http://dev.mysql.com/doc/refman/4.1/ja/create-index.html 例えば、先頭100文字だけとか。大抵の場合はこれで十分かと。 [test] > create table t1 (c1 int primary key, c2 varchar(2000), unique index idx (c2(200))) default charset utf8 engine = innodb; Query OK, 0 rows affected (0.01 sec) [test] > show create table t1\G *************************** 1. row *************************** Table: t1 Create Table: CREATE TABLE `t1` ( `c1` int(11) NOT NULL, `c2` varchar(2000) default NULL, PRIMARY KEY (`c1`), UNIQUE KEY `idx` (`c2`(200)) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) 07/01/29 に Hiroki Tamakoshi<hiroki.tamakoshi@xxxxxxxxxx> さんは書きました: > こんにちは、株式会社ビービットの玉越です。 > > インデックスの最大バイト数はMyISAMで1000, InnoDBで767バイトと決められて > いるようですが、これ以上にするにはコンパイルし直すしかないのでしょうか。 > > http://dev.mysql.com/doc/refman/5.0/en/create-index.html > > > URLを入力するカラムを作成する必要があります。 > URLは一意ですから、UNIQUEにする必要がありますが、定められたバイト数以上 > に長いURLが入らず困っています。 > (767バイト以上のURLもたまにあります) > > > 回避する方法はあるでしょうか? > > > # これを書いていて今なんとなく思い浮かんだのですが・・・ > # URLを500バイトずつ区切ってURL1, URL2, URL3・・・ などとしてそれぞれの > テーブルを作成し、そのIDでUNIQUEインデックスを作るという感じでしょうか? > > url_table_1: > ( id1 INT PRIMARY KEY AUTO_INCREMENT, > URL1 VARCHAR(500) UNIQUE ) > > url_table_2: > ( id2 INT PRIMARY KEY AUTO_INCREMENT, > URL2 VARCHAR(500) UNIQUE ) > > url_table_3: > ( id3 INT PRIMARY KEY AUTO_INCREMENT, > URL3 VARCHAR(500) UNIQUE ) > > url_table: > ( id INT PRIMARY KEY AUTO_INCREMENT, > id1 INT, > id2 INT, > id3 INT, > CONSTRAINT UNIQUE (id1, id2, id3) ) > > > -- > 株式会社ビービット 玉越 大輝 > ユーザビリティ コンサルタント > beBit,Inc. Tamakoshi Hiroki hiroki.tamakoshi@xxxxxxxxxx > -------------------------------------------------------- > 〒105-0001 東京都港区虎ノ門1-18-1 虎ノ門10森ビル7F > TEL: 03-3509-7602 / FAX: 03-3509-7605 > URL: http://www.bebit.co.jp/ > -------------------------------------------------------- > ◆◆◆お知らせ◆◆◆ > ・ビービット新刊書籍 『ユーザ中心ウェブサイト戦略』発売 > http://www.bebit.co.jp/news/2006/book.html > http://www.amazon.co.jp/gp/product/4797333529/ > > >
13697 2007-01-29 10:13 [Hiroki Tamakoshi <hi] UNIQUEの最大バイト数の変更 -> 13698 2007-01-29 10:23 ┗["Tetsuro IKEDA" <ikd] 13699 2007-01-29 10:33 ┗["Tetsuro IKEDA" <ikd]