Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
SELECT
*
FROM
tbl_name
WHERE
hash_col=MD5(CONCAT(col1, col2))
AND col1='constant'
AND col2='constant'; * This source code was highlighted with Source Code Highlighter.
SELECT * FROM `table` WHERE id>X*Y-1 LIMIT by X;
WHERE id>X*(Y-1)PRIMARY KEY (`daily_entry_stats_entry_id`, `daily_entry_stats_date`)на
PRIMARY KEY (`daily_entry_stats_date`, `daily_entry_stats_entry_id`)В этом случае действительно будет использовано преимущество кластерного ключа, так как вся таблица будет упорядочена в первую очередь по дате и запрос будет сканировать индекс в одном «направлении». Я протестировал на таблице с 500k записей, если все нужные страницы находятся в памяти, разница в скорости не очень заметна, но если большинство страниц должно быть считано с диска, то запрос использующий новый первичный ключ отрабатывает примерно в 2.5 раза быстрее использующего просто индекс по дате. У меня получились следующие цифры:
MySQL Performance real life Tips and Tricks