mysql:2186
From: "MINOHATA Norio" <"MINOHATA Norio" <minohata@xxxxxxxxxx>>
Date: Sat, 10 Jun 2000 17:52:21 +0900
Subject: [mysql 02186] Re: Delete と Insert がひどく遅い
箕畑です。 すみません。私の書いた > > それとも、select〜where のオプティマイザが {delete|update}〜where > > よりも賢くて、うまく型変換をやってくれているのかもしれません。 は誤解を招く表現ですので、 > > それとも、select〜where のオプティマイザが {delete|update}〜where > > よりも賢くて、うまくインデクスを使ってくれるのかもしれません。 に訂正させてもらいます。 もうちょっと詳しく解説すると、もし、元質問者の鈴木様が select * from testtable where id = 000000000001; のようにクォートをつけずにselectしているにも関わらず MySQLがインデクスを使用して高速に検索してくれているのならば、 select〜whereは、 (問答無用で000000000001を数値1と解釈する) {delete|update}〜whereよりも融通がきくみたいだなと考えたわけです。 堤井様 > 私が追試した時はクオートしないと引っかからなかったので > 勝手につけてしまいました。 (中略) > この結果からすると update はうまくやってくれ、select ではうまく > やってくれいない、という気がします。どっちが正しいのかよく > 分かりませんが、個人的にはうまくやってくれるほうが好きです。 うーーん、鈴木様もselectの時はクォートをつけておられたのですかね。 いずれにせよ、文字列の両端にクォートをつければうまく(=インデクスを 使用して高速に)処理されるということで間違いないようですね。 # ウチでは、数値だろうと文字列だろうと # 一律にクォートを付けて処理することがほとんどです。 -- 有限会社アイピーシー 箕畑典男 mailto: minohata@xxxxxxxxxx IPC-公開地図サーバ http://map.ipc.co.jp/
2178 2000-06-09 20:20 [hironobus <hironobus] Delete と Insert がひどく遅い 2179 2000-06-10 01:36 ┣["Y. Tsutsui" <tutui@] 2180 2000-06-10 03:55 ┣[Yasuhiro Hayase <hay] 2184 2000-06-10 16:21 ┃┗["MINOHATA Norio" <mi] 2185 2000-06-10 17:03 ┃ ┗["Y. Tsutsui" <tutui@] -> 2186 2000-06-10 17:52 ┃ ┗["MINOHATA Norio" <mi] 2187 2000-06-10 18:13 ┃ ┗["Y. Tsutsui" <tutui@] 2191 2000-06-11 23:31 ┃ ┗[とみたまさひろ <tomm] 2192 2000-06-12 19:32 ┃ ┣[<takeshi@xxxxxxxxxx>] 2193 2000-06-13 09:57 ┃ ┗[<takeshi@xxxxxxxxxx>] 2181 2000-06-10 10:37 ┣[<takeshi@xxxxxxxxxx>] 2182 2000-06-10 12:21 ┃┗["Y. Tsutsui" <tutui@] 2183 2000-06-10 14:07 ┃ ┗[<takeshi@xxxxxxxxxx>] 2189 2000-06-10 21:22 ┗[Hironobu SUZUKI <hir] Re: Delete とUPDATEがひどく遅い