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

mysql:15608

From: HIRATSUKA Sadao <HIRATSUKA Sadao <hiratsuka.sadao@xxxxxxxxxx>>
Date: Tue, 02 Aug 2011 20:30:42 +0900
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]