Вопросы с тегом «query-performance»

По вопросам повышения производительности и / или эффективности запросов к базе данных.

2
Как ускорить выделение отличного?
У меня есть простой выбор различных данных временных рядов: SELECT DISTINCT user_id FROM events WHERE project_id = 6 AND time > '2015-01-11 8:00:00' AND time < '2015-02-10 8:00:00'; И это занимает 112 секунд. Вот план запроса: http://explain.depesz.com/s/NTyA Мое приложение должно предварительно выполнить множество различных операций и рассчитывать, как это. Есть …

1
Оператор использовал базу данных tempdb для разлива данных во время выполнения с уровнем разлива 2
Я изо всех сил пытаюсь минимизировать стоимость операции сортировки в плане запроса с предупреждением Operator usedtempdbto spill data during execution with spill level 2 Я обнаружил несколько сообщений, связанных с данными о разливах во время выполнения с уровнем разлива 1 , но не с уровнем 2. Кажется , что уровень …

3
Исключить оператор поиска ключей (кластеризованный), который снижает производительность
Как я могу исключить оператор Key Lookup (Clustered) в моем плане выполнения? Таблица tblQuotesуже имеет кластеризованный индекс (on QuoteID) и 27 некластеризованных индексов, поэтому я стараюсь больше не создавать. Я поместил столбец кластеризованного индекса QuoteIDв свой запрос, надеясь, что это поможет, но, к сожалению, все так же План выполнения здесь …

1
SQL Server - если логика в хранимой процедуре и плане кеша
SQL Server 2012 и 2016 Standard: Если я добавлю if-elseлогику в хранимую процедуру для выполнения одной из двух ветвей кода, в зависимости от значения параметра, кеширует ли движок последнюю версию? И если при следующем выполнении значение параметра изменится, будет ли он перекомпилирован и повторно кэширован хранимую процедуру , поскольку должна …

1
Плохо выполняющий подзапрос с датами сравнения
При использовании подзапроса для поиска общего количества всех предыдущих записей с совпадающим полем, производительность ужасна для таблицы с всего лишь 50 тыс. Записей. Без подзапроса запрос выполняется за несколько миллисекунд. С подзапросом время выполнения превышает одну минуту. Для этого запроса результат должен: Включите только те записи в пределах указанного диапазона …

2
Запрос на присоединение занимает 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 NULL, ew.time_out_to, egw.time_out_to) AS time_out_to, IF(ew.code IS NOT NULL, ew.next_day, egw.next_day) AS next_day FROM …

3
Почему мой запрос 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 , o.sintMarketID , o.strOrderKey , o.strOfferCode , o.strCurrencyCode , o.decBCShipFullPrice , o.decBCShipFinal , …

1
sp_cursoropen и параллелизм
Я столкнулся с проблемой производительности с запросом, который, кажется, не может заставить меня задуматься. Я вытащил запрос из определения курсора. Этот запрос занимает несколько секунд, чтобы выполнить SELECT A.JOBTYPE FROM PRODROUTEJOB A WHERE ((A.DATAAREAID=N'IW') AND ((A.CALCTIMEHOURS<>0) AND (A.JOBTYPE<>3))) AND EXISTS (SELECT 'X' FROM PRODROUTE B WHERE ((B.DATAAREAID=N'IW') AND (((((B.PRODID=A.PRODID) AND …

3
Индексы для SQL-запроса с условием WHERE и GROUP BY
Я пытаюсь определить, какие индексы использовать для запроса SQL с WHEREусловием, а GROUP BYкоторый в настоящее время работает очень медленно. Мой запрос: SELECT group_id FROM counter WHERE ts between timestamp '2014-03-02 00:00:00.0' and timestamp '2014-03-05 12:00:00.0' GROUP BY group_id В настоящее время таблица содержит 32 000 000 строк. Время выполнения …

1
Как SQL Server узнает, что предикаты взаимосвязаны?
При диагностировании запросов SQL Server 2008 R2 с плохой оценкой количества элементов (несмотря на простое индексирование, обновленную статистику и т. Д.) И, следовательно, с плохими планами запросов, я обнаружил, возможно, связанную статью базы знаний: FIX: низкая производительность при выполнении запроса который содержит коррелированные предикаты AND в SQL Server 2008 или …

2
Как отслеживать блокировки, которые происходят менее чем за секунду - SQL Server
Я пытаюсь устранить проблему с блокировкой, которая происходит менее секунды. Приложение OLTP очень чувствительно и должно иметь время отклика менее 200 мс для некоторых транзакций в соответствии с согласованным SLA. У нас были проблемы с эскалацией блокировки в новом выпуске кода, которые мы смогли решить, уменьшив размер пакета в обновлениях. …

2
Масштабирование PostgreSQL TRIGGER (s)
Как Postgres запускает механизм весов? У нас большая установка PostgreSQL, и мы пытаемся реализовать систему, основанную на событиях, используя таблицы журналов и TRIGGER (s). По сути, мы хотели бы создать TRIGGER для каждой таблицы, которую мы хотим получать для операции UPDATE / INSERT / DELETE. Как только этот триггер сработает, …

1
НЕ следует избегать IN?
Среди некоторых разработчиков SQL Server широко распространено мнение, что NOT INоно ужасно медленное , и запросы должны быть переписаны так, чтобы они возвращали тот же результат, но не использовали «злые» ключевые слова. ( пример ). Есть ли в этом правда? Например, существует ли какая-либо известная ошибка в SQL Server (какая …

3
Улучшить производительность запроса с помощью IN ()
У меня есть следующий запрос SQL: SELECT Event.ID, Event.IATA, Device.Name, EventType.Description, Event.Data1, Event.Data2 Event.PLCTimeStamp, Event.EventTypeID FROM Event INNER JOIN EventType ON EventType.ID = Event.EventTypeID INNER JOIN Device ON Device.ID = Event.DeviceID WHERE Event.EventTypeID IN (3, 30, 40, 41, 42, 46, 49, 50) AND Event.PLCTimeStamp BETWEEN '2011-01-28' AND '2011-01-29' AND Event.IATA …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.