まとまりのないブログ

something which something is something

mysql sql

SQL_CALC_FOUND_ROWSの効果

投稿日:

mysqlでは行数のカウントをするのにSQL_CALC_FOUND_ROWSというのを使うことができるようだが、where句に条件を指定した場合だとcount(*)でレコードをカウントする場合と大差ない結果となった。SQL_CALC_FOUND_ROWSを使うことで速度的には向上は見込めない。レコード数が100万件を超える場合にwhere句で条件を指定してそのレコード数をカウントするという場合には、一度グループ化で行数をカウントした後でその結果を合計したほうが若干速く処理することができる。

-mysql, sql

執筆者:


comment

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

mysqlのmy.iniの標準値のメモ

mysqlのmy.iniファイルのサンプルの設定ファイルの値がどのように設定されているかチェック。mysqldの設定例を抜き出してみる。設定するときの参考にはなるだろうと思うので。

no image

シティカードジャパンのご利用明細書がeステートメントに変わった

シティカードから毎月送られてくるカードの利用明細書が来なくなったのでどうしたのだろうかと思っていたら、どうやらメールにPDF形式のファイルを添付してくる方針に変わった模様。紙資源の節約ということでその …

no image

結果の行数をカウントする

mysqlで結果の行数をカウントするsql文は、 seletc count(*) from foo; で取得するのが最も簡単ではあるけれど、レコード数が膨大な場合にはパフォーマンスの面で問題になる場合 …

no image

mariadbのポートを変更する

mariadbのコンフィグファイルであるmy.cnfにポートの設定を追加する。mysqldセクションとportを下記のように追加して再起動する。そしてmysqlにログインして show variabl …

no image

DELL PowerEdge T105 のDebianのメモリが1GBしか認識しない

DELL PowerEdge T105にLinux のDebianをインストールしてから大分経過したが、今頃になってメモリが2GB搭載しているはずなのに1GBしか認識されていないことに気づいた。 cd …