mysql:2622
From: 藤吉 克己 <藤吉 克己 <fujiyoshi@xxxxxxxxxx>>
Date: Fri, 20 Oct 2000 21:29:38 +0900
Subject: [mysql 02622] 256バイト超の BLOB 型インデックスが正しく処理されません。
藤吉です。
BLOB型のカラムに300バイトのプライマリキーを指定したのですが、MySQ
Lはキー長を44バイトと認識します(インデックスも同様です)。
255バイトまでは正しくキー長を認識します。
キー長に256バイトを指定すると、MySQLはキー長0バイト、300バイトを
指定すると44バイトとなります。
動きを見ると、指定キー長が256バイト以上の場合、256バイトを減算している
?(インデックス長を1バイトで管理していて桁落ちしている?)ように思います。
マニュアルにはキー長の最大値は500バイトとなっているので、300バイトは問
題無く処理されてもいいと思います。
この問題に遭遇された方、対処方法をご教授願いたく、よろしくお願い致します。
<環境>
 Mysql 3.23.25-beta(MyISAM ) , HP-UX 11.00
<テーブル定義>
CREATE TABLE test(
    data1          BLOB                     NOT NULL,
    ~途中省略~
    PRIMARY KEY     (data1(300))
);
<show index>
mysql> show index from test;
+-----+----------+-------------+...+-------+...+
| Table  | Non_unique | Key_name         |...| Sub_part | ...|
+-----+----------+-------------+...+-------+...+
| test   |                0 | PRIMARY           |...|         44 | ...|
+-----+----------+-------------+...+-------+...+
表示内容は一部省略しています。
-> 2622 2000-10-20 21:29 [藤吉 克己 <fujiyosh] 256バイト超の BLOB 型インデックスが正しく処理されません。 2624 2000-10-21 00:48 ┣[<takeshi@xxxxxxxxxx>] 2644 2000-10-23 17:33 ┃┗[藤吉 克己 <fujiyosh] 2646 2000-10-24 00:05 ┃ ┗[<takeshi@xxxxxxxxxx>] 2627 2000-10-21 01:04 ┗[とみたまさひろ <tomm] 2638 2000-10-22 14:22 ┗[<cotton@xxxxxxxxxx> ] SQL 文の長さについて。 2640 2000-10-22 15:32 ┗[Tomohiro Takahashi <] 2641 2000-10-22 15:57 ┗[<cotton@xxxxxxxxxx> ]