[前][次][番号順一覧][スレッド一覧]

mysql:13699

From: "Tetsuro IKEDA" <"Tetsuro IKEDA" <ikdttr@xxxxxxxxxx>>
Date: Mon, 29 Jan 2007 10:33:47 +0900
Subject: [mysql 13699] Re: UNIQUEの最大バイト数の変更

えーっと、たびたび池田です^^;

あまり深く考えずに投稿してしまったのですが、
部分インデックスでuniqueだとインデックス長内でuniqueにならないと
いけなくなるのでダメですね。
失礼しました。。

07/01/29 に Tetsuro IKEDA<ikdttr@xxxxxxxxxx> さんは書きました:
> こんにちは。池田@住商情報システムです。
>
> 代わりに部分インデックスを使ってみてはどうでしょう?
> 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]