которой следует быть осторожнее, и она медленнее группировки. Вопрос следующий, есть ли какие то случаи когда без него прям не обойтись?
https://stackoverflow.com/questions/581521/whats-faster-select-distinct-or-group-by-in-mysql
Спасибо
Она не медленнее, она такая же медленная. Без него ВСЕГДА можно обойтись, он вообще очень редко используется, но это всё при одном условии: Структура БД должна быть правильно спроектирована. Как правило, DISTINCT нужен на ненормализованной структуре при выделении сущноси, которая не была декомпозирована...
Благодарю
Вообще, наличие DISTINCT - признак того, что с запросом что-то не так...
Я тоже придерживался этого мнения, поэтому и уточнил тут когда столкнулся с ним, ибо очень редко сталкивался до этого
О, кстати. Может быть можешь подсказать. 1. Сделал optimaze всем таблицам в базе, она ужалась с ~600гб на 500гб. 2. За следующие 2 недели она прибавила 25гигабайт. 3. За следующие 6 недель(после двух) она прибавила еще 25 гигабайт. При этом запись в базу была равномерной и одинаковой. Но при этом в первые 2 недели таблицы распухли в 3 раза сильнее, чем в последующие 2. Зачем они так?
Ну это зависит от характера заполнения индексных страниц... Филфактор, разряжённость, кластеризация индексов... В общем, ничего необычного в таком поведении нет.
Обсуждают сегодня