Вопросы с тегом «optimization»

В контексте базы данных оптимизация относится к процессу выбора оптимизатором запросов эффективного физического плана выполнения.

110
Как определить, нужен ли индекс или необходим

Я запускаю инструмент автоматического индексирования в нашей базе данных MS SQL (я изменил скрипт, созданный Microsoft, который просматривает таблицы статистики индекса - Automated Auto Indexing ). Из статистики у меня теперь есть список рекомендаций для индексов, которые нужно создать....

96
Оптимизация запросов по диапазону временных отметок (два столбца)

Я использую PostgreSQL 9.1 на Ubuntu 12.04. Мне нужно выбрать записи за определенный промежуток времени: в моей таблице time_limitsесть два timestampполя и одно integerсвойство. В моей фактической таблице есть дополнительные столбцы, которые не связаны с этим запросом. create table (...

54
Когда использовать представления в MySQL?

Когда при создании таблиц из нескольких объединений для использования в анализе предпочтительнее использовать представления, а не создавать новую таблицу? Одна из причин, по которой я предпочел бы использовать представления, заключается в том, что схема базы данных была разработана нашим...

45
Вредны ли представления для производительности в PostgreSQL?

Ниже приведен отрывок из книги о дизайне БД (Начальный номер базы данных ISBN: 0-7645-7490-6): Опасность использования представлений заключается в фильтрации запроса к представлению, ожидающего чтения очень маленькой части очень большой таблицы. Любая фильтрация должна выполняться в представлении,...

40
Неожиданные сканирования во время операции удаления с использованием WHERE IN

У меня есть запрос, подобный следующему: DELETE FROM tblFEStatsBrowsers WHERE BrowserID NOT IN ( SELECT DISTINCT BrowserID FROM tblFEStatsPaperHits WITH (NOLOCK) WHERE BrowserID IS NOT NULL ) tblFEStatsBrowsers получил 553 строки. У tblFEStatsPaperHits есть 47,974,301 строк. tblFEStatsBrowsers:...

35
Конструкция USING в предложении JOIN может вводить барьеры оптимизации в определенных случаях?

Мне стало известно, что USINGконструкция (вместо ON) в FROMпредложении SELECTзапросов может в некоторых случаях вводить барьеры оптимизации. Я имею в виду это ключевое слово: ВЫБРАТЬ * Из ПРИСОЕДИНЯЙТЕСЬ К ИСПОЛЬЗОВАНИЮ (a_id) Просто в более сложных случаях. Контекст: этот комментарий к этому...

35
Как (и почему) TOP влияет на план выполнения?

Для довольно сложного запроса, который я пытаюсь оптимизировать, я заметил, что удаление TOP nпредложения меняет план выполнения. Я бы предположил, что когда запрос включает TOP nв себя механизм базы данных, он будет запускать запрос, игнорируя TOPпредложение, а затем в конце просто сократит этот...

33
Логические операторы ИЛИ И в условии и порядке условий в ГДЕ

Давайте рассмотрим эти два утверждения: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Если CONDITION 1есть TRUE, будет CONDITION 2проверено? Если CONDITION 3есть FALSE, будет CONDITION 4проверено? Как насчет условий на WHERE: оптимизирует ли ядро ​​SQL Server все...

30
Оптимизация запроса Postgres с большим IN

Этот запрос получает список сообщений, созданных людьми, на которых вы подписаны. Вы можете следить за неограниченным числом людей, но большинство людей следуют <1000 других. При таком стиле запросов очевидной оптимизацией будет кэширование "Post"идентификаторов, но, к сожалению, сейчас у меня...

28
Почему мой запрос SELECT DISTINCT TOP N сканирует всю таблицу?

Я столкнулся с несколькими SELECT DISTINCT TOP Nзапросами, которые, по-видимому, плохо оптимизированы оптимизатором запросов SQL Server. Давайте начнем с рассмотрения тривиального примера: таблица миллионов строк с двумя чередующимися значениями. Я буду использовать функцию GetNums для генерации...

28
Почему ориентировочная стоимость (одинаковых) 1000 поисков по уникальному индексу отличается в этих планах?

В нижеприведенных запросах оба плана выполнения оцениваются в 1000 запросов на уникальный индекс. Поиски управляются упорядоченным сканированием одной и той же исходной таблицы, поэтому, по-видимому, в конечном итоге следует искать одинаковые значения в том же порядке. Обе вложенные циклы имеют...

26
SQL Server разделяет A <> B на A <B ИЛИ A> B, получая странные результаты, если B недетерминирован

Мы столкнулись с интересной проблемой с SQL Server. Рассмотрим следующий пример repro: CREATE TABLE #test (s_guid uniqueidentifier PRIMARY KEY); INSERT INTO #test (s_guid) VALUES ('7E28EFF8-A80A-45E4-BFE0-C13989D69618'); SELECT s_guid FROM #test WHERE s_guid = '7E28EFF8-A80A-45E4-BFE0-C13989D69618'...

24
Оценка мощности для оператора LIKE (локальные переменные)

У меня сложилось впечатление, что при использовании LIKEоператора во всех операциях оптимизации для неизвестных сценариев как устаревшие, так и новые CE используют оценку в 9% (при условии, что доступны соответствующие статистические данные и оптимизатору запросов не приходится прибегать к догадкам...

23
Почему этот запрос не использует катушку индекса?

Я задаю этот вопрос, чтобы лучше понять поведение оптимизатора и понять ограничения вокруг катушек индекса. Предположим, что я положил целые числа от 1 до 10000 в кучу: CREATE TABLE X_10000 (ID INT NOT NULL); truncate table X_10000; INSERT INTO X_10000 WITH (TABLOCK) SELECT TOP 10000 ROW_NUMBER()...

23
Определяется ли поведение ограничения оптимизации для запроса CTE (WITH) в стандарте SQL: 2008? Если да, то где?

Я вижу частые ссылки на WITHзапросы (обычные табличные выражения или CTE), выступающие в качестве ограждения оптимизации, когда серверу не разрешается вставлять фильтры в запросы CTE, извлекать общие выражения из CTE и т. Д. Часто утверждается поведение, требуемое стандартами SQL. CTE, безусловно,...

20
Запросы без хорошего плана найдено

У меня есть база данных SQL Server 2012. Я заметил значение Reason for early termination of statement optimizationдля некоторых запросов и все дал Good Enough Plan Found. Теперь мои вопросы: Каковы все возможные типы «Причины досрочного прекращения оптимизации выписки». Я искал это в msdn, но не...

19
Влияет ли «ГДЕ 1 = 1» на производительность запросов?

Я недавно видел вопрос "где 1 = 1 утверждение" ; конструкция SQL, которую я часто использовал при построении динамического SQL, чтобы написать более чистый код (с точки зрения основного языка). Вообще говоря, влияет ли это дополнение к SQL-статистике на производительность запросов? Я не ищу ответа...

19
Принудительный поток

У меня есть такая таблица: CREATE TABLE Updates ( UpdateId INT NOT NULL IDENTITY(1,1) PRIMARY KEY, ObjectId INT NOT NULL ) По сути отслеживание обновлений объектов с возрастающим идентификатором. Потребитель этой таблицы выберет блок из 100 различных идентификаторов объектов, упорядоченных...

19
Почему планы разные, если запросы логически похожи?

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

19
Флаг трассировки 4199 - Включить глобально?

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