case sensitiveな文字列カラムにはbinary属性を指定すべし
日記に書かないと忘れてしまいそうなので。
一概には言えませんが、emailをログイン名として認証するのであればbinary属性をつけておいた方がよいかもしれません。binary属性が無いと、大文字小文字が違ってもヒットしてしまうので、正確に認証するためにはヒット後にphpで再判定する必要があります。
Re: CakePHP日記 #006 ディレクトリ構成とDB設計 : akiyan.com
MySQLにはそんな機能があるんですね。と思って調べると、マニュアルにもしっかり書かれていました。
すべての文字列比較は、デフォルトでは大文字と小文字を区別せず、現在のキャラクタセット照合順序 で決められたソート順で行われます。このキャラクタセット照合順序は、デフォルトではlatin1(cp1252 West European)です。これを変更するには、BINARY属性を指定してカラムを宣言するか、BINARY キャストを使用して、字句順序よりもキャラクタコード値を使用して比較が行われるようにする必要があります。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 1.7.1 標準 SQL に対する MySQL 拡張機能
というわけで、MySQLではcase sensitiveな文字列カラムにbinary属性を指定すべし、というお話でした。