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

13
Как оптимизатор SQL Server оценивает количество строк в объединенной таблице?

Я выполняю этот запрос в базе данных AdventureWorks2012 : SELECT s.SalesOrderID, d.CarrierTrackingNumber, d.ProductID, d.OrderQty FROM Sales.SalesOrderHeader s JOIN Sales.SalesOrderDetail d ON s.SalesOrderID = d.SalesOrderID WHERE s.CustomerID = 11077 Если я посмотрю на примерный план выполнения, я...

13
Изменения в оценках для предикатов, которые содержат SUBSTRING () в SQL Server 2016?

Существуют ли какие-либо документы или исследования об изменениях в SQL Server 2016 относительно оценки мощности множества предикатов, содержащих SUBSTRING () или другие строковые функции? Причина, по которой я спрашиваю, состоит в том, что я смотрел на запрос, производительность которого снизилась...

13
Медленные запросы не регистрируются

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

13
Работает ли SentryOne Plan Explorer?

Работает ли SentryOne Plan Explorer как рекламируется и является ли это законным? Есть ли какие-то проблемы или что-то, о чем стоит беспокоиться? Похоже, он показывает горячий путь в цвете по сравнению с кошмаром SSMS представления предполагаемого плана выполнения. Меня беспокоит - изменяет ли он...

12
Будет ли запрос WHERE проверять более простые сравнения (т.е. битовые) перед выполнением более трудных сравнений (например, varchar)?

Если я напишу запрос, который включает составное WHEREпредложение, например: SELECT * FROM MyTable WHERE BitField = 1 AND VarcharField = 'asdf' и включение этого bitсравнения просто исключает те же поля, varcharкоторые исключает сравнение, сделает ли bitсравнение этих полей улучшение...

12
Условия Postgres JOIN против условий WHERE

Постгрес новичок здесь. Мне интересно, оптимизирован ли этот запрос или нет? Я попытался присоединиться только к тем значениям, которые на 100% необходимы, и оставил все динамические условия в предложении WHERE. См. ниже. SELECT * FROM myapp_employees JOIN myapp_users ON...

12
Медленное сканирование индекса в большой таблице

Используя PostgreSQL 9.2, у меня проблемы с медленными запросами к относительно большой таблице (более 200 миллионов строк). Я не делаю ничего сумасшедшего, просто добавляю исторические ценности. Ниже приведен запрос и вывод плана запроса. Моя таблица раскладок: Table "public.energy_energyentry"...

12
Почему этот запрос не использует мой некластеризованный индекс и как я могу его выполнить?

В продолжение этого вопроса о повышении производительности запросов я хотел бы знать, есть ли способ сделать мой индекс используемым по умолчанию. Этот запрос выполняется примерно за 2,5 секунды: SELECT TOP 1000 * FROM [CIA_WIZ].[dbo].[Heartbeats] WHERE [DateEntered] BETWEEN '2011-08-30' and...

12
Почему эти похожие запросы используют разные фазы оптимизации (обработка транзакций и быстрый план)?

Пример кода в этом элементе подключения Показывает ошибку где SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON L1.csv_item = L2.csv_item Возвращает правильные результаты. Но следующее возвращает неверные результаты (в 2014 году с использованием нового Оценщика...

12
Сколько параметров хранимой процедуры слишком много?

Я только начал писать хранимую процедуру в SQL Server 2008 и имеет более 30 параметров. Я никогда не писал один с более чем 10 параметрами, и это заставило меня задуматься ... В какой момент слишком много параметров? Для контекста ... эта процедура по существу вставит одну строку в одну таблицу....

12
Использование логики НЕ по отношению к индексам

Согласно книге Microsoft по разработке баз данных, экзамен 70-433: Разработка баз данных Microsoft SQL Server 2008 : Ни один из ведущих подстановочных знаков, а не логика НЕ позволяет оптимизатору запросов использовать индексы для оптимизации поиска. Для достижения оптимальной производительности...

11
MAXDOP = 1, подсказки к запросу и порог стоимости для параллелизма

Если для экземпляра MAXDOPзадано значение 1, а подсказки запросов используются для параллельного выполнения определенных запросов, является ли значение порога стоимости для параллелизма все еще используемым SQL для принятия решения о том, следует ли на самом деле идти параллельно? Я не смог...

11
Как можно улучшить оценки строк, чтобы уменьшить вероятность разливов в базу данных

Я замечаю, что когда происходят события разлива в базу данных tempdb (вызывающие медленные запросы), часто оценки строк оказываются не подходящими для конкретного соединения. Я видел события разлива с объединениями и хэш-соединениями, и они часто увеличивают время выполнения в 3 раза до 10 раз....

11
Postgres: количество (*) против количества (id)

Я видел в документации разницу между count(*)а count(pk). Я использовал count(pk)(где pkэто SERIAL PRIMARY KEY), не зная о существовании count(*). Мой вопрос касается внутренних оптимизаций Postgres. Достаточно ли умен, чтобы понять, что a SERIAL PRIMARY KEYбудет существовать в каждой строке и...

11
Задача оптимизации: составные кластерные ключи, условия флага и слияние индекса

Три стола: product: с колонками: ( a, g, ...a_lot_more... ) a: PK, clustered g: bit-column main: с колонками: ( c, f, a, b, ...a_lot_more... ) c: PK, clustered f: bit-column (a, b): UQ lookup с колоннами: ( a, b, c, i ) (a, b): PK, clustered a: FK to product(a) c: UQ, FK to main(c) i: bit-column Я...

10
Как «намекнуть» на кардинальность рекурсивного CTE?

Я использую следующий рекурсивный CTE в качестве минимального примера, но в целом оптимизатор должен использовать «угаданные» кардинальные значения по умолчанию для рекурсивных CTE: with recursive w(n) as ( select 1 union all select n+1 from w where n<5 ) select * from w; /* n --- 1 2 3 4 5 */...

10
Оптимизирует ли PostgreSQL добавление столбцов с ненулевыми значениями по умолчанию?

При добавлении NOT NULLстолбцов со DEFAULTзначением - оптимизирует ли PostgreSQL эту операцию? Если в таблице n строк, неоптимизированный столбец alter-table-add-column даст n записей значения по умолчанию, что, очевидно, может быть очень болезненным. При оптимизации БД мгновенно создаст новый...

10
Как обычно хранится запись каждого изменения строки в базе данных?

В проекте, над которым я работаю, каждое изменение строк в некоторых таблицах базы данных должно отслеживаться для дальнейшего аудита или отката. Должно быть легко найти, кто изменил строку, с какого IP-адреса и когда, и иметь возможность восстановить предыдущую версию. Подобная вещь используется,...