2007-02-09 [長年日記]
_ テニススクール
| 練習時間 | 1:49 |
| トレーニング効果 | 2.0 |
| 平均心拍数 | 103 |
| 最大心拍数 | 163 |
| 消費カロリー | 665kcal |
心拍計を忘れてきてしまったんで、数値はあとで。
今日は前回とはうってかわって人数が多かったんで、運動量はだいぶ少なかった。レッスン内容が試合形式中心だったりすると、振り替えとか無料チケットレッスンの人気が高まるんだろうなー。
で、ガットを変えて2日目ということで慣れてきて、全体的に問題は少なくなってきた。サービスのコントロールも付いてきたんで、確率もだいぶ上がったし、フォアハンドストロークで飛びすぎる病も出なくなった。そのおかげでスイングが安定したのか、コントロールもだいぶ良くなった気がする。
逆に新しく発生した問題は、バックハンドが飛ばなすぎる病。もともとバックハンドは不安定なんだけど、今までは当たりそこねでもそこそこ飛んでくれてごまかせるパターンが多かったらしい。飛ばないガットにしたら、当たりそこねでネットを越えないパターンが増えた。まずはバックハンドでもちゃんと芯で打つ練習をしないとな。
あと、弱い球に対するボレーが結構難しいということが判明した。ある程度速い球に対しては、あわせるだけでちょうどいいんだけど、弱い球に対してはあわせただけだと飛ばなすぎてネットにかかる。今までよりも意識して押していくイメージでボレーしないと、弱い球がネットを越えない。
_ MySQLのクエリーキャッシュが効かない 解決編
この間書いたZend_Db_Adapter_Pdo_Mysql経由でMySQLに接続しているとクエリーキャッシュが効かないという話、ひとまず解決方法を見つけた模様。結論から言うと「PHP 5.2.1にあげれ」。
ポイントとしては、PHP 5.2.1 Release Announcementの主要な拡張ポイントとして書かれている、「PDO_MySQL now uses buffered queries by default and emulates prepared statements to bypass limitations of MySQL's prepared statement API.」って部分。その辺のソースも読んでないし、MySQL API関連の詳しい事情もよく分からないけど、ともかくPHP 5.2.1では、PDO_MySQLの実装として、MySQLのプリペアードステートメントを使うのはやめ、エミュレーション実行することにしたらしい。で、試しにPHP 5.2.1に入れ替えてみたところ、ちゃんとクエリーキャッシュが効くようになってくれたよ。
一応自前で、Zend_Db_Adapter_Pdo_Mysqlのfetch系メソッドだけオーバーライドして、mysqli関数経由で非プリペアードステートメントを投げる実装に置き換えたクラスとか書いてみていたんだけど、そういう中途半端な対策をするよりもすぱっとPHP 5.2.1に置き換えた方がましそうだ。
ちなみにZend Frameworkのincubatorの中には、Zend_Db_Adapter_Mysqliクラスとかがあって、ちょっと期待したんだけど、どうやらこれはろくにメンテナンスされなかったために、コアからincubatorに格下げになった代物だったらしい。試しに使ってみたけど、完成度が低くて使い物にならなかった。っつーか、拡張して使う気にもなれなかった。


