目次

MySQL

未整理情報

文字コード

参考 MySQLの文字コードとCollation
utf8mb4_general_ci 半角全角を区別する
utf8mb4_unicode_ci 半角全角を区別しない(半角英数カタカナ=全角英数カタカナ)
フリーワード検索があるサイトでは「utf8mb4_unicode_ci」が良さげ

※ ログインに使用する、IDやパスワードなど厳密なチェックが必要なものは「utf8mb4_bin」を使う

select時の文字コードの指定方法

select * from account where concat(name, tel, mail) like '%TEST%' collate utf8mb4_unicode_ci;

ページネーション

参考 OFFSETを使わない高速なページネーションの実現

(SELECT id, title FROM entry WHERE id < 3 ORDER BY id DESC LIMIT 1)
UNION ALL
(SELECT id, title FROM entry WHERE id >= 3 ORDER BY id ASC LIMIT 3)