重いクエリの見分け方
スロークエリログというとっても便利なものがある。 場所は、 /usr/local/mysql/var/ホスト名-slow.log ↑インストール環境によっては違う場合もアリ。 このログファイルいいね! 重たいクエリがどん…
スロークエリログというとっても便利なものがある。 場所は、 /usr/local/mysql/var/ホスト名-slow.log ↑インストール環境によっては違う場合もアリ。 このログファイルいいね! 重たいクエリがどん…
まだ確信はもてないけど・・・ 単純に出力レコード数が多いクエリは重い。 ということは、出力レコード数が少なくなるなら、 多少クエリ実行回数が増えても問題ないっぽい。 クエリ実行回数も少ないにこしたことはないけど、 無理や…
スロークエリログに引っかからないような速いクエリでも、 実行時間が知りたいときはある。 その場合はどこを確認すればいいんだろう。 一般クエリログとかっぽいけど。 一般クエリログはMySQLデーモンを再起動しないと記録され…
なんかすげー勘違いしてたっぽいけど、 MySQLのtimestamp型はunixタイムスタンプとは別のようだ。 ほとんどdatetime型と同じじゃん(バイト数と扱える範囲が違うだけ)。 unixタイムスタンプを扱いたか…
正式な動きなのかはわからんけど、datetime型は文字列のまま比較できます。 PHPでもMySQLでも。 とか普通に成り立つ。 ちょっと不安だから、unixタイムスタンプに変換してから比較してるけど・・・。 文字列で比…
一番重いのはどこだろう。 おそらく、DBへのコネクトが一番重いとおもわれ。 次に重いのが、UPDATE、INSERTの実行。 比較的軽いのはSELECTかな? つーか、クエリ実行の重さがどのくらいなのかが気になるね。 少…
NULLと重複値を除いたレコードの数をカウントしてくれる。 詳しくは、MySQL全機能リファレンス545pを参照。
MySQLの場合は でよろし。 使用例はこんな感じ。 ※追記 PHPの場合は strtotime()でいけるっぽい。
「==」ではない。 「=」で良い。 なんと紛らわしい・・・。
NOT NULL制約はNULLを設定できないようにする制約。 で、default値を何も指定していないフィールドにNOT NULL制約をかけ、 INSERT時に、そのフィールドに何も指定しなかった場合・・・・ エラーが出…
最近のコメント