勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

MySQLで日時や日付で範囲検索する際の速度向上

      2014/05/22

結論としてはUNIXタイムスタンプ型にする。

MySQLでdatetime型で2013-01-01 00:00:00みたいに
入れるよりint型で1356966000で入れる。

検索の際はシングルクオートで囲わないようにする。

■参考サイト
http://fukaoi.org/2009/06/10/mysql_datetime

集計関連のページを作成しており、7つのSQL文があり
全部しらべたところ速度が3.6倍になった。

あとCOUNT関数よりもSUM関数で顕著な差が出た。

全部タイムスタンプでいったらよさそうだけど、
実務のことを考えると、日々生成されるログ系を
UNIXタイムスタンプ型で作る、のが現実的っぽい。

 - MySQL

  関連記事

MySQLでJOINの高速化

JOINで無茶苦茶悩んだのでメモ。やりたかった事は、MySQLで テーブルAには ...

お名前.comの共用サーバー(SD)にphpmyadminを入れる

公式で書いてあるやつは3.4.2だけど、もうちょっと新しいバージョンを入れたかっ ...

mysqlで正規化できない時はシリアライズ使う

アンケートか何かに機能追加している際、配列を カンマ区切りで結合して文字列でDB ...

MySQLで実行結果の行数取得

DBにデータがあるか調べる際にしばしば使用してたのでメモ。 $sql = " S ...

MySQLのエラーメール送付

MySQLエラーを取得してエラーメール送付。 <? error_repor ...

MySQLでIPアドレスを数値として入れると変になる

MySQLでIPアドレスをINET_ATON関数を用いてINT型に変換し格納する ...

MySQLでグループ化したものを条件で絞る(HAVING)

正規化したテーブルがあってその中には idとtagのカラムがある。 でtagの方 ...

エックスサーバーでMySQLのサイズに注意

エックスサーバーで自動更新のログをMySQLに保存するようなシステムを動かしてい ...

MySQLでIPを整数値としてカラムに格納する

MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必 ...

MySQLでユニークキーをはる

MySQLでseqとcodeみたいなものをあわせて ユニークキーをはりたかった。 ...