2010-03-09 InnoDBでCOUNT()を扱う際の注意事項あれこれ。 InnoDBを使うとき、MyISAMと比較して度々やり玉に挙げられるポイントとして「COUNT()が遅い」というものがある。確かにInnoDBにおいて行数を弾き出すのにはテーブルスキャンが必要なのだが、そもそもMyISAMのCOUNT()が速い(テーブルの行数を保持してる)のが特殊なのであって、InnoDBが遅いわけではないのである。とはいえ、高速なCOUNT()については需要が多く、この問題には多くの人取り組んでおられるよう... > このページを見る
最終更新時間:
2010年03月09日09時45分
みんなのブックマーク 人気(0) 新着
- innodbでcountを利用する際には注意が必要。簡単な解決策としてはテーブルにrecord数を記録するカラムを作る。ただ、その場合recordの更新時にオーバーヘッドが生じる。セカンダリインデックスを用いると良い!
- count(*)の場合でも、やっぱしINDEXが良いよねと言う。ま、件数次第よね。
- count () 高速化など
- Bylineから 漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。 2010-03-09InnoDBでCOUNT()を扱う際の注意事項あれこれ。InnoDBを使うとき、MyISAMと比較して度々やり玉に挙げられるポイントとして「COUNT()が遅い
- select count (*) from tbl; の速度改善にはセカンダリインデックスやトリガの利用を検討していく
- MyISAM はテーブルの行数を保持しているため COUNT が速い. InnoDB は MVCC のため保持しておくのが難しい.
-
select count(*) from .. ignore index(primary) で高速化できるのかな
- countにはセカンダリインデックス
- countの高速化するのにセカンダリインデックスの利用を検討する
-
@ziopix つまり、count(*)うんぬんじゃあなくて、インデックスの問題なんですよねその辺って。
-
MySQLで1000万件をCOUNT(*)すると1分半かかる。インデックス張ると3秒。"漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。" (
- 漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。 : 「COUNT(col)ではcolがNULLでない値の場合だけカウントされる」
-
とりあえず全からむにいんでっくす貼るなんて不思議な構造創るひとにぜひ読んでもらいたいとこなのです(´ω`;【みかん
- "セカンダリインデックス"以降が必見!
- MySQLのチューニング。ここまですることはまずないだろうけど。。
- バッファプールに収まるサイズのセカンダリインデックスを貼る
- count(*)とcount(1)とcount(col)
- Linux-DBシステム構築/運用入門とあわせて読むとよいかと
-
InnoDBでCOUNT()を扱う際の注意事項あれこれ。[2010-03-10T20:24:23+0900]
- セカンダリインデックスを追加することで如何にCOUNT()クエリが高速化されるか








