mysql:15625
From: Etsuo SUMIYA <Etsuo SUMIYA <sumiya-e@xxxxxxxxxx>>
Date: Wed, 31 Aug 2011 18:27:12 +0900 (LMT)
Subject: [mysql 15625] Re: mysql 5.5.9でのset names sjisで性能低下
sumiyaといいます。 From: HIRATSUKA Sadao <hiratsuka.sadao@xxxxxxxxxx> Subject: [mysql 15624] Re: mysql 5.5.9でのset names sjisで性能低下 Date: Wed, 31 Aug 2011 12:33:06 +0900 Message-ID: <20110831123306.2AD2.C8FC6C14@xxxxxxxxxx> > > "set names sjis"を実行すると、t2の > > rowsが10となり、indexがきかず、全スキャンかかってしまうようです。 > > いただいたテストケースは > MySQL 5.5.11で再現して、MySQL 5.5.12だと再現しませんでした。 > たぶん↓これです。 > http://bugs.mysql.com/bug.php?id=60625 最新では修正済みだったんですね。今年の4月頃、遅くなる現象はつかん でいたのですが、時間が取れず、5.1.xを使用してました。 問題を放って置くわけにもゆかず調べたので、古いシステムで失礼しまし た。 > ただそれとは別に > 最新のMySQL 5.5.15でも再現するケースを作れたので、バグ報告してみました。 > http://bugs.mysql.com/bug.php?id=62307 > > 仕組みとしては、tm = '20:01'という検索条件を > CONVERT(tm USING SJIS sjis) = '20:01' > に変換するわりと残念なロジックがMySQL 5.5から入っていて、 > これの発動条件の一つがcharacter_set_connection = ucs2あるいはsjis > となっているようです。 > > ucs2のためにはこのロジックがどうしても必要なようですが、 > sjisは巻き添えを喰らった感があります。 同じ原因なのかもしれませんが、sjisにすると、日付や時刻などの検索条 件として,DBに記録されているのと同じ書式、1:1:0ならば01:01:00と記述 しないとquery結果が出ないなど色々と問題がありそうですね。 今回は、5.1.xを使うということにしたいと思います。ありがとうござい ました。 ありがとうございました。
15623 2011-08-30 20:29 [Etsuo SUMIYA <sumiya] mysql 5.5.9でのset names sjisで性能低下 15624 2011-08-31 12:33 ┗[HIRATSUKA Sadao <hir] -> 15625 2011-08-31 18:27 ┗[Etsuo SUMIYA <sumiya] 15626 2011-09-01 09:50 ┗[HIRATSUKA Sadao <hir]