mysql:15609
From: 野副 勝己 <野副 勝己 <nozoe@xxxxxxxxxx>>
Date: Wed, 3 Aug 2011 10:46:41 +0900
Subject: [mysql 15609] Re: Indexをつけるとと、update のwhere 句マッチしない [Ver.4.1.23]
野副です。 平塚さん 更なる解説、有難う御座います。 入り口が異なる事、了解しました。 渡すパラメータが壊れているのでは、幾ら頑張っても該当レコードには マッチしないですよね… 本当に助かりました。 # 今回は、明日作業と言う時に念の為にと思い、色々確認してしていたら、 # SELECTに使ったキーをそのまま使って、UPDATE しているにも関わらず、 # レコードの内容が変わらない…と、ちょっと冷や汗が。。。 # まさか、Index付ける前は成功していたUPDATE文が、indexつけたらUPDATE # が何もしないで返ってくるなんて、予想出来ていませんでした… # 取り敢えず、急遽作業は延期し、自分で調べつつもこのMLに質問させて # 頂きました。MLに投稿なんて、十数年振り?と言う位久々でした。 # 元々、PostgreSQL派だったので、MySQL歴はほんの数年 #(と言っても、最近は自分で面倒見る機会がへっているので、pkgやrpmで # インストールする機会が増えソースコードからという事をほとんどしなくなり # ました...) >> -----Original Message----- >> From: HIRATSUKA Sadao [mailto:hiratsuka.sadao@xxxxxxxxxx] >> Sent: Tuesday, August 02, 2011 8:31 PM >> To: ml@xxxxxxxxxx >> Subject: [mysql 15608] Re: Indexをつけるとと、update のwhere 句マ >> ッチしない [Ver.4.1.23] >> >> 平塚です。 >> >> On Tue, 2 Aug 2011 17:35:16 +0900 >> 野副 勝己 <nozoe@xxxxxxxxxx> wrote: >> >> > バグ情報が何処にあるか解らなかった(バグ情報から検索する事が出来 >> なかった >> > …) >> > ので、確信が持てずにいたのですが、平塚さんのメールでバグに該当し >> ている >> > と言う事に確信が持てましたので、これで延命処置を図りたいと思いま >> す。 >> > >> > ありがとうございました。 >> >> どういたしまして! >> >> >> > P.S. 解せないのは、SELECT 文ではIndex が有効に働いているにも関わ >> らず >> > 何故、UPDATE 文ではIndex 検索で空振りするのだろうかと言うことで >> す。 >> > #UPDATE コマンドの応答速度からすると、いきなり該当無しで返って >> きてい >> > #る気がする… >> >> インデックススキャンはしているのですが、 >> 誤った文字列で探しているのだそうです。 >> >> >> > 実行計画って、SELECT文のWHERE句とUPDATE 文のWHERE句で違うので >> しょうか? >> > 不思議です… >> >> 大雑把にしか説明できないのですが、 >> >> SELECT文は sql/sql_select.cc >> UPDATE文は sql/sql_update.cc >> >> で実行されていて、ロジックが入口から異なっています。 >> >> いわゆる実行計画というものは sql_select.cc の >> JOIN::optimize というところで作られています。 >> sql_update.cc では処理がもう少し簡略化されています。 >> >> 今回の不具合は sql_update.cc からストレージエンジンに検索条件を >> 渡すまでの間のどこかで、検索条件を壊してしまったことによるもの >> だと思います。 >> >> -- >> 平塚貞夫 hiratsuka.sadao@xxxxxxxxxx >> >>
15605 2011-08-02 13:26 [野副 勝己 <nozoe@xx] Indexをつけるとと、update のwhere 句マッチしない [Ver.4.1.23] 15606 2011-08-02 16:30 ┗[HIRATSUKA Sadao <hir] 15607 2011-08-02 17:35 ┗[野副 勝己 <nozoe@xx] 15608 2011-08-02 20:30 ┗[HIRATSUKA Sadao <hir] -> 15609 2011-08-03 10:46 ┗[野副 勝己 <nozoe@xx]