Майкрософт продолжает повышать производительность SQL Server, вводя новые возможности. В этой статье объясняется как работать с индексами поколоночного хранения - отличным от построчного способом хранить таблицы, который значительно улучшает производительность при определенной рабочей нагрузке. Continue reading "Поколоночные индексы - что это?"
При обработке сложных операторов insert, update и delete часто полезно знать, что изменилось - для аудита или чтобы вернуть значение в вызывающее приложение (например, ID или другое значение после вставки). Предложение OUTPUT в T-SQL позволяет вам сделать именно это, что действительно очень просто. Я покажу вам как! Continue reading "Использование предложения OUTPUT (для операторов Insert и Delete)"
Давайте поговорим о различных планах, которые можно получить в SQL Server.
Предполагаемый план (Estimated Plan)
Для генерации этого плана вместо выполнения запроса, пакета, хранимой процедуры вы в SQL Server Management Studio (SSMS) используете кнопку “Display Estimated Execution Plan” (показать предполагаемый план выполнения). Continue reading "Каждый план выполнения есть предполагаемый план"
Если ответить коротко, то оптимизатор запросов будет рассматривать запрос, определенный в хранимой процедуре точно также, как и непосредственно переданный.
С одной стороны, это хорошо: это означает, что SQL Server кэширует и повторно использует планы запросов, чтобы заставить их выполняться быстрее.
Parameter sniffing (прослушивание параметров) только тогда становится проблемой, когда кэшированный план далек от оптимального плана для заданных входных параметров.
В MySQL 8.0.18 появилась новая функция, которая называется Hash Join, и я захотел посмотреть, как она работает, и в каких ситуациях она может нам помочь.
В общих чертах операция состоит в следующем: при выполнении соединения в памяти создается хеш-таблица на базе одной из соединяемых таблиц, другая таблица читается построчно, вычисляется хеш и выполняется поиск по этому хеш-ключу в хеш-таблице, находящейся в памяти.
Continue reading "Понимание хеш соединений в MySQL 8"