Skip to content

Улучшить производительность запроса, когда SQL Server игнорирует некластеризованный индекс

Пересказ статьи Mehdi Ghapanvari. Improve Query Performance when SQL Server Ignores Nonclustered Index


Несмотря на наши усилия, направленные на оптимизацию запроса посредством создания некластеризованного индекса, SQL Server, видимо, отдает приоритет сканированию кластеризованного индекса, а не поиску в некластеризованном индексе с последующим поиском ключа. Удивительно, что сканирование кластеризованного индекса оказывается более эффективным для SQL Server в данной конкретной ситуации. Но можем ли мы все же найти способ для улучшения производительности запроса?
Continue reading "Улучшить производительность запроса, когда SQL Server игнорирует некластеризованный индекс"

Новости за 2024-04-20 - 2024-04-26

§ Лидеры недели


	Участник		w_sel	all_sel	select	dml	Всего	Рейтинг
Александров С. (akerman) 6 66 14 0 14 980
Саркисьян Г. (gennadi_s) 5 110 13 9 22 191
Королев И.В. (Garry_from_Adyg 6 17 9 5 14 3944
Shubenkin (kbkbkbkbkbk) 6 10 7 0 7 5695
Кирьянов В.В. (SolidSkills) 2 33 5 0 5 1435
Поляков П.А. (Fidei) 4 4 5 0 5 7383
Zed A.Z. (AlexeyZem) 4 4 4 0 4 8863
Continue reading "Новости за 2024-04-20 - 2024-04-26"

Понимание планов в PostgreSQL

Пересказ статьи Muhammad Ali. Understand Explain Plans in PostgreSQL


В предыдущей статье мы обсуждали утилиту pg_stat_statements - инструмент для идентификации запросов, интенсивно использующих ресурсы - памяти, ЦП или ввода/вывода.

Теперь предположим, что вы определились с запросами, которые хотите исследовать дальше. Команда EXPLAIN используется для генерации планов выполнения. Она включает:

Continue reading "Понимание планов в PostgreSQL"

Упражнение Pandas для специалистов по данным — часть 2

Пересказ статьи Avi Chawla. Pandas Exercise for Data Scientists — Part 2


Библиотека Pandas всегда привлекала специалистов по данным своими изумительными возможностями. Она несомненно является важным инструментом для обработки и манипуляции данными.

Поэтому для расширения ваших экспертных знаний и знакомства с огромным числом популярных среди специалистов по данным функций Pandas я представляю вторую часть "Упражнение Pandas". Первую часть вы можете найти по ссылке.
Continue reading "Упражнение Pandas для специалистов по данным — часть 2"

Не используйте DISTINCT в качестве "исправления join"

Пересказ статьи Aaron Bertrand. Don’t use DISTINCT as a “join-fixer”


Я спокойно решал проблемы производительности, переписывая медленные запросы, чтобы избежать использования DISTINCT. Зачастую DISTINCT служит лишь для того, чтобы "исправить join", и я могу объяснить что это означает на примере.

Continue reading "Не используйте DISTINCT в качестве "исправления join""

Использование substring в MySQL на примерах

Пересказ статьи Rahul Mehta. MySQL substring uses with examples


Введение


MySQL, как и любые другие базы данных, может хранить данные различных типов. Одними из наиболее часто используемых типов данных являются строки. Разработчики широко используют эти типы для хранения данных, а также в различных операциях форматирования. Мы будем часто сталкиваться с требованием получения части строки. MySQL предоставляет функцию “SUBSTRING” для извлечения подстроки из строки. Имеются следующие варианты для извлечения строки:

  1. SUBSTRING

  2. SUBSTR (синоним для SUBSTRING)

  3. SUBSTRING_INDEX

Давайте начнем с понимания того, как работает substring.
Continue reading "Использование substring в MySQL на примерах"

Новости за 2024-04-06 - 2024-04-12

§ Лидеры недели


	Участник		w_sel	all_sel	select	dml	Всего	Рейтинг
Александров С. (akerman) 14 50 27 0 27 1329
Гонохов М.С. (Mixus) 12 12 16 0 16 5162
Кирьянов В.В. (SolidSkills) 9 22 12 0 12 1827
Горшков Ю.В. (yugorshkov) 8 56 11 0 11 950
Саркисьян Г. (gennadi_s) 2 101 8 11 19 242
Зонина П.А. (apolloshka) 4 4 5 0 5 7348
Shubenkin (kbkbkbkbkbk) 4 4 5 0 5 7557
Голов А.С. (golovas1) 4 4 5 0 5 7619
nevryuzin (another_raccoon) 3 3 4 0 4 8874
Continue reading "Новости за 2024-04-06 - 2024-04-12"

Как работает секционирование в PostgreSQL и почему вас это должно беспокоить?

Пересказ статьи Adam Furmanek. How Does Partitioning Work in PostgreSQL and Why Should You Care?


Секционирование позволяет разделить логически одну большую таблицу на физические таблицы меньших размеров. Это может улучшить производительность запросов, обеспечивая доступ к меньшему числу строк, оптимизируя чтения со случайным доступом и используя очень таргетированные индексы. Давайте посмотрим, как это работает в PostgreSQL и как Metis их обрабатывает.

Continue reading "Как работает секционирование в PostgreSQL и почему вас это должно беспокоить?"

Понимание индекса SQL: ключ к быстрому выполнению запросов

Пересказ статьи Kishan Modasiya. Understanding SQL Index: The Key to Faster Query Execution


Индекс - это очень важная тема в SQL. И очень большая для того, чтобы рассмотреть ее в одной статье. Здесь я дам краткий обзор понятия индекса, что это такое и почему он так необходим, рассмотрю типы индексов и то, как индексы помогают оптимизировать производительность запросов на ряде примеров. Я буду выдерживать эту статью понятной для новичков и не углубляться в тему. Итак, начнем. Continue reading "Понимание индекса SQL: ключ к быстрому выполнению запросов"

Понимание языка управления данными SQL: GRANT и REVOKE

Пересказ статьи DataScience Nexus. Understanding SQL Data Control Language: GRANT and REVOKE


Структурированный язык запросов (SQL) является мощным языком управления и манипуляции данными в реляционных базах данных. В то время как язык определения данных (DDL) и язык манипуляции данными (DML) являются наиболее используемыми составляющими SQL, язык управления данными (DCL) играет решающую роль в управлении доступом пользователей и разрешениях в пределах базы данных. Здесь мы будем разбираться в DCL и сфокусируемся на двух ключевых операторах - GRANT и REVOKE. Эти операторы исключительно важны для управления и обслуживания прав пользователя в пределах базы данных. Давайте вникать в область разрешений и привилегий SQL. Continue reading "Понимание языка управления данными SQL: GRANT и REVOKE"