こっちに移動 qiita.com
こっちに移動 qiita.com
InnoDBを使うとき、MyISAMと比較して度々やり玉に挙げられるポイントとして「COUNT()が遅い」というものがある。確かにInnoDBにおいて行数を弾き出すのにはテーブルスキャンが必要なのだが、そもそもMyISAMのCOUNT()が速い(テーブルの行数を保持してる)のが特殊なのであって、InnoDBが遅いわけではないのである。とはいえ、高速なCOUNT()については需要が多く、この問題には多くの人取り組んでおられるようだ。しかしながら、COUNT()のチューニングについては未だ語られていない点があるように見受けられるので、今日はCOUNT()のチューニングについて解説しようと思う。 COUNT(*)、COUNT(col)、COUNT(1)の違い基本的なことではあるが、COUNT(*)とCOUNT(col)では意味が異なるため、異なる結果が返される場合がある。COUNT(*)はフェッ
なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか ここ最近の大規模サービス関連したデータページング考です。 mysql 5.5.34 で試して記事書いてます。 bigdata テーブルは id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) なカラムがある前提です。もちろん InnoDB です。 2014年なんだからCOUNT(*)とかSQL_CALC_FOUND_ROWSとかLIMIT OFFSETのページングはやめようぜ - Togetterまとめが発端にみえるけど、わりと昔から話されてる事なんだけど、「nippondanji SQL_CALC_FOUND_ROWS」でググっても有用な情報ないし文書化されてないからしとく。 ページング処理で使われがちな機能です。 S
ここは中島 靖のホームページです。 This is Yasushi 'Sey' Nakajima's homepage. To English page 別館へ ※このページの情報は全体に古いものが多いのでご注意ください。リニューアルを準備中です。 本のサポートページ 「Perl5.6完全リファレンスブック-標準モジュール編」 自作ソフトウェア Greese Greeseは、RDBからレポートを生成するPerlモジュールです。SQLのSELECT文を拡張したテンプレートで、手続的なプログラミング無しに、反復、グルーピング、ページ分割、ページのリンクがおこなえます。HTMLだけでなくXMLやLaTeXのレポートも可能で、テンプレートは既存のビューアやエディタで表示・編集可能です。まだαバージョンの段階です。 Greese-0.93.zip Greeseの説明書 GreeseCGIの説明書 P
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く