Я знаю, что SQL-серверы планируют выполнение запросов, но не знаю, как они это делают.
У меня есть разные догадки, но абстрактно. (Т.е. можно открыть план выполнения запроса, увидеть, что план выполнения запроса зависит от статистики по данным, но и только).
Понятно, что есть показатели, которые можно замерять и запоминать,
что есть статистические связи между показателями,
что есть факторы, которые могут влиять на время выполнения а могут не влиять,
что некоторые факторы находятся вне контроля программы (например состояния кешей операционной системы, данные в них или на диске?)
Не имеет смысла хранить значения показателей, которые мало влияют на конечный итог.
Но в каких случаях принимать решения по наращиванию сбора статистики и по сокращению сбора статистики? Как это делать технически (нужны примеры/фреймворки на каком-нибудь языке программирования)?
Что бы такое почитать? (мне в практических целях, поэтому учебник по матстатистике советовать не поможет)
Отредактировано Лис (2018-12-15 05:24:26)