Hatena::Groupasakura

MySQL

MySQL

目次

Tips

アルファベットのCASEを意識する/しない

  • COLLATEで切り替えられる
    • WHERE text = 'foo' COLLATE utf8_general_ci -- 意識しない
    • WHERE text = 'foo' COLLATE utf8_general_cs -- 意識する
    • WHERE text = 'foo' COLLATE utf8_bin -- バイナリモード
  • COLLATEに指定できるCOLLATION名はSHOW COLLATIONで確認できる
  • COLLATEを変更すると(当然のように)INDEXは使われなくなる(指定しただけでも使わなくなるかも/未確認)

個人的な感想

 1999年くらいから使ってる*1。1998年くらいはPostgreSQLを使ってた*2

 PostgreSQLからMySQLに切り替えることにしたのは、マイナーバージョンが上がるたびにデータとクライアントに互換性が無くてムカついたから。

 あと、PerlPPMモジュールにDBD::mysqlはあったけどDBD::Pgがなかったってのも大きい。仕方がなくDBD::ODBCとか使ってたけど、いちいちODBCの設定するのが面倒だったし。


 パフォーマンスも目に見えて違っていたけど*3、それだけならMySQLべったりにはならなかったかもしれない。互換性重要!

*1:バージョン3.22くらいだったかな?

*2:バージョンは6.3くらいだったかな?

*3:Pemtium 133MHzとかMMX 200MHzとかだったかな。

* はてなダイアリーキーワード:MySQL