У меня есть таблица с несколькими миллионами записей данных. Я пытаюсь найти минимум и максимум для каждой группы для одного элемента быстро.Найти минимум в группах в большом значении MySQL (используя существующий индекс) быстро
Структура как этот
- "GroupC" VarChar 10
- "Пункт" Integer
- "LogDT" кодировки даты и времени
- многих других областях.
В списке «GROUPC»/«LogDT» есть индекс, и существует менее 10 групп.
Когда я прошу один минимум GroupC/Item, я получить быстрый ответ в 100мс
Пример: Пункт 59
select GROUPC, min(LogDT) from TABLE as T where T.Item=59 and t.GROUPC='GR1'
мне нужно минимум для всех групп.
select GROUPC, min(LogDT) from TABLE as T where T.Item=59 group by t.GROUPC
Это работает, но занимает 12 секунд, хотя есть только 3 группы.
Получение списка групп занимает всего 15мс
select distinct GROUPC from TABLE
Любые идеи, как я могу объединить эти два запроса в то скорое?
Отмечено. Я использовал «GROUP» в качестве замены для реального имени поля в своем коде, чтобы упростить мой вопрос. Будет обновлен вопрос – 576i