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

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]