Команда OceanBase и Восточно-Китайского педагогического университета (ECNU) разработала подход Metis.
По сообщению OceanBase, статью о нём приняли на VLDB 2027.
Перед выполнением запроса СУБД оценивает, сколько строк придётся обработать.
Эти оценки помогают выбрать план выполнения. Если сильно ошибиться, запрос может работать медленнее.
Одна из причин ошибок — зависимости между столбцами.
Например, город и страна связаны, но статистика по каждому столбцу отдельно не отражает эту связь.
Собирать подробную статистику по всем возможным сочетаниям слишком затратно.
Metis анализирует историю запросов и определяет, какие сочетания столбцов связаны с большими ошибками оценки.
Для них строятся многомерные гистограммы — статистика, которая учитывает значения нескольких столбцов вместе.
Затем Metis подбирает и объединяет эти гистограммы для оценки конкретного запроса.
Идея — учитывать прежде всего те зависимости в данных, которые влияют на точность оценок при реальной нагрузке.
Подробнее — блог OceanBase на CNBlogs, на китайском
СУБД #БазыДанных #OceanBase #VLDB #ОптимизацияЗапросов