[Senna-dev 95] Re: MySQLバインディングで大量のレコードがヒットするとき

Back to archive index

Kazuhiro Osawa ko****@yappo*****
2005年 6月 29日 (水) 04:14:12 JST


大沢です。


> これを回避するためには、select文に limit 条件をつけて取得する件数に
> 上限をつけてやるのが有効です。

SQL_CALC_FOUND_ROWS使っているから大丈夫だろうと思っていたのですが
よく考えれば全件MYDを読んじゃう処理になるのですね。。。


> 2) order by,  group by, 他テーブルとのjoin, 等と組み合わせると、
>    結局ヒットした全レコードの値を読みにいってしまう。

whereで、同じテーブル内のfieldに検索を掛けた時も
後半の行を見る時にパフォーマンスが落ちてる感じですね。


> なんとかMySQL越しに引き渡す方法がないかなぁと思っているのですが、
> なかなか良い手段が思い付きません。

ユーザ変数に強引に引き渡す方法しか思いつかないです。。。
検索後に select @senna_found_rows; で取出しとか。

---
osawa



Senna-dev メーリングリストの案内
Back to archive index