кодировки в MySQL

Я всегда делаю сайты на utf-8, и чтобы сервер принимал и отдавал в utf8 независимо от его дефолтных настроек, всегда выполняю где-то при инициализации php-скрипта эти 2 запроса:

SET NAMES utf8
SET collation_connection = utf8_general_ci

Начав очередной проект, где важно оптимизировать все, что можно, я с самого начала озаботился тем, что нафига же мне два лишних запроса при каждом обращении к сайту. Поискал и узнал: следующие три строки в разделе [mysqld] конфиг-файла mysql велят серверу игнорировать запросы клиента насчет кодировок и работать в utf8:

[mysqld]
collation-server=utf8_general_ci
character-set-server=utf8
skip-character-set-client-handshake

Использование индекса при поиске с использованием LIKE

Оказывается, при таком поиске индекс используется

LIKE 'что-то%'

а при таком - нет:

LIKE '%что-то%'

Большие таблицы - это не щи лаптем хлебать

Англоязычная статья про то, как работать с большими таблицами. Актуально.

И вообще, этот сайт (mysqlperformanceblog.com) полезно почитать.