タグ

2011年11月25日のブックマーク (3件)

  • はじめての MySQL で100万件のデータを管理する時に行ったチューニングまとめ

    MySQL の勉強をせずにフレームワーク等で SQL を書かずに Web サイトを構築していました。データ数も2万件程度でしたので、そこまで困ることはありませんでしたが、今回100万弱の商品データを扱う機会ができたので、MySQL のチューニングや発行する SQL について見直す機会がありました。 この記事では MySQL を高速化するのに行った対策など勉強したものを自分用にメモしておきました。 条件式で比較するカラムにインデックスを使用して高速化 商品コードで存在しない商品を見つけて、商品をDBに登録するという処理を行っている場合、4万件超えたころから処理に2秒以上かかるようになってきます。12万件超えた頃には10秒程度かかるようになってしまいましたが、商品コードのフィールドに対してカラムインデックスを貼ることで0.2秒に短縮することができました。 MySQL のリファレンスにも以下のよ

    ymm1x
    ymm1x 2011/11/25
    FULLTEXT + Ngram Apache Solr Senna
  • オフセットの後半になると急に遅くなる MySQLの高速化 - [MySQL MariaDB/SQL] ぺんたん info

    MySQLはオフセットの後半になると急に遅くなる。 例えば1,000,000件(100万件)のレコードがあったとき最後のほうの30件だけをとる場合は SELECT * FROM `test` LIMIT 999970 , 30; 30 rows in set (7.8739 sec) 7.8秒もかかる。 比較のために最初の30件をとると SELECT * FROM `test` LIMIT 30; 30 rows in set (0.0012 sec) 1秒かからない。 このような処理の場合、プライマリキーがあってIDの抜けがないならオフセットよりもプライマリキーを条件に入れたSQL文の方が速い。 SELECT * FROM `test` WHERE `test_id` >999970 LIMIT 30; 30 rows in set (0.0011 sec) ソート順がないからでは?と思

    ymm1x
    ymm1x 2011/11/25
    LIMITのオフセットが大きすぎると遅くなる件
  • 海中に伸びる死の氷柱、南極で観測された自然現象 Brinicle:小太郎ぶろぐ

    南極の海中で撮影された自然現象、「死のつらら」こと「Brinicle」。 氷塊から伸びるように氷が海中を下へ、下へと伸び進み、海底に達すると海底やヒトデたちを凍りつかせながら、さらに一方向へと進み続けているのだ。 実際にはもっとゆっくり凍っていくんだけど、微速度撮影するとまるで魔法のよう。 逃げ遅れたヒトデたちがカチカチに……。

    ymm1x
    ymm1x 2011/11/25
    海中に伸びる死の氷柱、南極で観測された自然現象 Brinicle