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

15
Почему мой запрос EXISTS выполняет сканирование индекса вместо поиска индекса?

Я работаю над оптимизацией некоторых запросов. Для запроса ниже SET STATISTICS IO ON; DECLARE @OrderStartDate DATETIME2 = '27 feb 2016'; DECLARE @OrderEndDate DATETIME2 = '28 feb 2016'; SELECT o.strBxOrderNo , o.sintOrderStatusID , o.sintOrderChannelID , o.sintOrderTypeID , o.sdtmOrdCreated ,...

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

У меня есть два похожих запроса, которые генерируют один и тот же план запроса, за исключением того, что один план запроса выполняет сканирование кластерного индекса 1316 раз, а другой - 1 раз. Единственная разница между двумя запросами - это разные критерии даты. Долгосрочный запрос фактически...

15
Почему существуют различия в плане выполнения между OFFSET… FETCH и старой схемой ROW_NUMBER?

Новая OFFSET ... FETCHмодель, представленная в SQL Server 2012, предлагает простую и быструю подкачку страниц. Почему вообще существуют различия, если учесть, что эти две формы семантически идентичны и очень распространены? Можно предположить, что оптимизатор распознает оба и оптимизирует их...

15
Внезапно медленный план выполнения для хранимых процессов

Я пытаюсь понять проблему, которая возникает у нас с SQL Server 2000. Мы являемся веб-сайтом с умеренными транзакциями, и у нас есть хранимый процесс, sp_GetCurrentTransactionsкоторый принимает идентификатор клиента и две даты. Теперь, в зависимости от даты и клиента, этот запрос может возвращать...

15
Индекс для сохраняемого вычисляемого столбца недоступен для поиска

У меня есть таблица с именем Address, которая имеет сохраненный вычисляемый столбец с именем Hashkey. Столбец является детерминированным, но не точным. У него есть уникальный индекс, который нельзя найти. Если я запускаю этот запрос, возвращая первичный ключ: SELECT @ADDRESSID= ISNULL(AddressId,0)...

15
Запрос на присоединение занимает 11 минут для выполнения таблицы 300 000 строк

Ниже запрос занимает более 11 минут для выполнения. SELECT `c`.*, `e`.`name` AS `employee_name`, `e`.`emp_no`, `d`.`code` AS `department_code`, IF(ew.code IS NOT NULL, ew.code, egw.code) AS shift_code, IF(ew.code IS NOT NULL, ew.time_in_from, egw.time_in_from) AS time_in_from, IF(ew.code IS NOT...

15
Когда предикаты SARGable могут быть помещены в CTE или производную таблицу?

принуждать Работая над Top Quality Blog Posts®, я столкнулся с поведением оптимизатора, которое показалось мне действительно невероятно интересным. У меня нет немедленного объяснения, по крайней мере, не того, чем я доволен, поэтому я привожу его здесь на случай, если кто-то умный появится Если вы...

15
Почему оценки строк SQL Server меняются, когда я добавляю подсказку о соединении?

У меня есть запрос, который объединяет несколько таблиц и выполняет его довольно плохо - оценки строк удалены (в 1000 раз) и выбрано объединение Nested Loops, что приводит к нескольким сканированиям таблиц. Форма запроса довольно проста, выглядит примерно так: SELECT t1.id FROM t1 INNER JOIN t2 ON...

15
Занимает ли пустое значение столбца то же пространство памяти, что и значение заполненного столбца?

У меня есть таблица с 2 столбцами. Тип обоих столбцов установлен в varchar(38). Если я создам строку с пустым значением для одного из столбцов, будет ли она занимать такое же место для хранения, как если бы это значение не было пустым? Другими словами, будет ли MySQL резервировать место для...

14
Как быстрее запросить этот 20-миллионный просмотр записей?

Для функции поиска я использую представление, содержащее записи из всех таблиц, в которых мне нужно искать. Представление имеет почти 20 миллионов записей. Поиски против этой точки зрения занимают слишком много времени. Где я должен искать, чтобы улучшить производительность этого представления?...

14
Как оптимизировать очень медленный SELECT с помощью LEFT JOIN для больших таблиц

Я гуглил, занимался самообразованием и искал решение в течение нескольких часов, но безуспешно. Я нашел несколько подобных вопросов здесь, но не этот случай. Мои таблицы: человек (~ 10 млн рядов) атрибуты (местоположение, возраст, ...) связи (M: M) между людьми и атрибутами (~ 40M строк) Полный...

14
Подсказка мощности SQL Server

Есть ли способ, как «внедрить» оценку мощности в оптимизатор SQL Server (любая версия)? то есть что-то похожее на подсказку мощности Oracle. Моей мотивацией является статья « Насколько хороши оптимизаторы запросов?» [1] , где они проверяют влияние оценки мощности на выбор плохого плана....

14
Можно ли повысить производительность запросов в узкой таблице с миллионами строк?

У меня есть запрос, который в настоящее время занимает в среднем 2500 мсек. Моя таблица очень узкая, но в ней 44 миллиона строк. Какие варианты у меня есть, чтобы улучшить производительность, или это так хорошо, как это получается? Запрос SELECT TOP 1000 * FROM [CIA_WIZ].[dbo].[Heartbeats] WHERE...

14
Хорошо, плохо или безразлично: ГДЕ 1 = 1

Учитывая этот вопрос на Reddit, я очистил запрос, чтобы указать, где проблема была в запросе. Сначала я использую запятую, WHERE 1=1чтобы упростить изменение запросов, поэтому мои запросы обычно заканчиваются так: SELECT C.CompanyName ,O.ShippedDate ,OD.UnitPrice ,P.ProductName FROM Customers as C...

14
Заставить SQL Server выполнить условия запроса как написано?

Я использую SQL Server 2008 R2 и у меня есть этот псевдопросмотр (SP): select ... from ... WHERE @LinkMode IS NULL AND (myColumn IN (...very long-running query...)) ... ... Проблема в том, что выполнение запроса занимает очень много времени - даже если я выполняю SP с @LinkMode=2. Как вы заметили,...

14
Почему этот SQL-запрос намного медленнее, когда я индексирую столбцы?

У меня есть база данных sqlite с двумя таблицами, каждая из которых содержит 50000 строк, содержащих имена (фальшивых) людей. Я построил простой запрос, чтобы узнать, сколько существует имен (имя, отчество, фамилия), которые являются общими для обеих таблиц: select count(*) from fakenames_uk inner...

14
Оптимизировано ли соединение для предложения where во время выполнения?

Когда я пишу запрос, как это ... select * from table1 t1 join table2 t2 on t1.id = t2.id Оптимизатор SQL, не уверен, что это правильный термин, переводит это в ... select * from table1 t1, table2 t2 where t1.id = t2.id По сути, является ли оператор Join в SQL Server простым способом написания SQL?...

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
Заполните пропущенные даты значением данных из предыдущей заполненной даты для группы

Изобразите билеты службы поддержки, которые передаются между отделами. Мы хотим знать, какой отдел находится в конце дня для каждого билета на каждый день, когда билет открыт. Таблица содержит последний отдел для каждого билета за каждый день, в который он открыт, в который происходит изменение в...