■ 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年くらいから使ってる。1998年くらいはPostgreSQLを使ってた。
PostgreSQLからMySQLに切り替えることにしたのは、マイナーバージョンが上がるたびにデータとクライアントに互換性が無くてムカついたから。
あと、PerlのPPMモジュールにDBD::mysqlはあったけどDBD::Pgがなかったってのも大きい。仕方がなくDBD::ODBCとか使ってたけど、いちいちODBCの設定するのが面倒だったし。
パフォーマンスも目に見えて違っていたけど、それだけならMySQLべったりにはならなかったかもしれない。互換性重要!