mysql:3861
From: TSUTSUMI Thoru <TSUTSUMI Thoru <tutumi@xxxxxxxxxx>>
Date: Thu, 28 Jun 2001 17:36:25 +0900
Subject: [mysql 03861] Re: update した件数をカウントしたい。
堤です。 マルチなお返事ですみません。 // Thu, 28 Jun 2001 16:46:09 // // [mysql 03860] Re: update した件数をカウントしたい。 // // MAO <mao@xxxxxxxxxx>さん // 曰く: >SQLをあんまり発行しないほうが軽くなるかなーっておもったんですけど。。 わたしが気をつけているのはリソース節約のためにconnectと disconnectを頻繁に利用しないことくらいでしょうか。 SQL文の発行は必要に応じて、深く考えずに行ってしまっている 気がします。 >> update tbl_a set serial = 2 where uid = 1 and serial <> 2; >上記のようにすると、 >update tbl_a set serial = 2 where uid = 1 >に比べると、速度は速くなるのでしょうか? matchedとchanged が一致すれば悩まなくて済むかなと思いまして… あまり深い意味はないです。すみません。 レコード数に大差ない限り処理時間自体には、 ほぼ変わりはないのではないでしょうか。 -- // Thu, 28 Jun 2001 12:17:02 // // [mysql 03856] Re: update した件数をカウントしたい。 // // "Kawai,Takanori" <GCD00051@xxxxxxxxxx>さん // 曰く: >SELECT文のdoメソッドの結果として出てくる行数については >あまり信用しないほうがよいでしょう。 >DBDの実装に影響を受けるはずです。 確かに環境に依存しそうですね。 ご指摘いただかなければ気づかなかったです。 >「prepareが面倒」ということであればselectall_arrayrefを利用しては? > >ex. > my $raRes = $hDb->selectall_arrayref( > 'SELECT COUNT(*) FROM tbl_a WHERE uid=1'); > print "COUNT:", $raRes->[0]->[0], "\n" if($raRes); 参考になります。 ありがとうございました。 # 今、運用しているのはとりあえず動いているし、いいかな ^^; -- 堤 徹: tutumi@xxxxxxxxxx
3845 2001-06-27 19:00 [MAO <mao@xxxxxxxxxx>] update した件数をカウントしたい。 3846 2001-06-27 19:31 ┗[TSUTSUMI Thoru <tutu] 3848 2001-06-27 22:41 ┗[MAO <mao@xxxxxxxxxx>] 3852 2001-06-28 10:31 ┣[TSUTSUMI Thoru <tutu] 3856 2001-06-28 12:17 ┃┗["Kawai,Takanori" <GC] 3853 2001-06-28 11:02 ┗[Akihiko Shinohara <s] 3857 2001-06-28 12:31 ┗["Kawai,Takanori" <GC] 3860 2001-06-28 16:46 ┗[MAO <mao@xxxxxxxxxx>] -> 3861 2001-06-28 17:36 ┗[TSUTSUMI Thoru <tutu]