まとまりのないブログ

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

テーブルのフィールドのデータ型を調べる

プログラムで使っているテーブルのあるフィールドが設計ミスで使われていないことに気づき、せっかくだからそのフィールドのデータ型を変えて別の用途に使ってみようというトリッキーなことをやろうとしたけれど、や …

no image

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

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

no image

テーブルの列の型を変える(列属性の変更)

mysqlの場合。 ケース1:テーブルのある列の型をtext型で作成してシステムを運用してみたところ、実際にはせいぜい8000文字程度しか使用されていないことがわかったためvarchar型の可変長10 …

no image

mysqlのテーブルから不要なインデックスを削除する

テーブルを設計し直すために不要なインデックスを削除してみることにする。 mysql> drop index idx1 on ac200902; Query OK, 49398993 rows affe …

no image

sennaのインストール

かなり嵌ったので備忘録。sennaをインストールする際、configureのオプションを指定しないと、デフォルトの文字コードはeuc-jpでconfigureをすることになる。mecabで文字コードを …