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

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

76
Почему мой запрос неожиданно стал медленнее, чем вчера?

[Приветствия] (отметьте один) [ ] Well trained professional, [ ] Casual reader, [ ] Hapless wanderer, У меня есть (отметьте все подходящие варианты) [ ] query [ ] stored procedure [ ] database thing maybe это работало нормально (если применимо) [ ] yesterday [ ] in recent memory [ ] at some point...

57
Скользящая сумма диапазона дат с использованием оконных функций

Мне нужно рассчитать скользящую сумму по диапазону дат. Чтобы проиллюстрировать это, используя пример базы данных AdventureWorks , следующий гипотетический синтаксис сделал бы именно то, что мне нужно: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER (...

53
Как эффективно получить «самую последнюю соответствующую строку»?

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

49
Почему бы мне НЕ использовать опцию SQL Server «оптимизировать для специальных рабочих нагрузок»?

Я читал несколько замечательных статей, касающихся кэширования планов SQL Server, таких как эта: http://www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/ Почему даже есть опция «оптимизировать для специальных рабочих нагрузок»? Разве это не должно быть всегда?...

39
Настройка PostgreSQL для производительности чтения

Наша система записывает много данных (вид системы Big Data). Производительность записи достаточно для наших нужд, но производительность чтения слишком низкая. Структура первичного ключа (ограничения) одинакова для всех наших таблиц: timestamp(Timestamp) ; index(smallint) ; key(integer). Таблица...

39
Увеличение work_mem и shared_buffers на Postgres 9.2 значительно замедляет запросы

У меня есть экземпляр PostgreSQL 9.2, работающий на RHEL 6.3, 8-ядерный компьютер с 16 ГБ ОЗУ. Сервер выделен для этой базы данных. Учитывая, что файл postgresql.conf по умолчанию довольно консервативен в отношении настроек памяти, я подумал, что было бы неплохо разрешить Postgres использовать...

39
Почему добавление TOP 1 резко ухудшает производительность?

У меня довольно простой запрос SELECT TOP 1 dc.DOCUMENT_ID, dc.COPIES, dc.REQUESTOR, dc.D_ID, cj.FILE_NUMBER FROM DOCUMENT_QUEUE dc JOIN CORRESPONDENCE_JOURNAL cj ON dc.DOCUMENT_ID = cj.DOCUMENT_ID WHERE dc.QUEUE_DATE <= GETDATE() AND dc.PRINT_LOCATION = 2 ORDER BY cj.FILE_NUMBER Это дает мне...

39
разница в планах выполнения на сервере UAT и PROD

Я хочу понять, почему была бы такая огромная разница в выполнении одного и того же запроса в UAT (выполняется за 3 секунды) по сравнению с PROD (выполняется за 23 секунды). И UAT, и PROD имеют именно данные и индексы. QUERY: set statistics io on; set statistics time on; SELECT CONF_NO, 'DE',...

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

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

31
ОБНОВЛЕНИЕ производительности, где нет изменений данных

Если у меня есть UPDATEзаявление, которое на самом деле не меняет какие-либо данные (потому что данные уже в обновленном состоянии). Есть ли какой-то выигрыш в производительности, если поставить в WHEREпункт проверку , чтобы предотвратить обновление? Например, будет ли разница в скорости выполнения...

31
Как ускорить запросы к большой таблице из 220 миллионов строк (данные 9 ГБ)?

Проблема: У нас есть социальный сайт, где участники могут оценивать друг друга для совместимости или соответствия. Эта user_match_ratingsтаблица содержит более 220 миллионов строк (данные по 9 ГБ или почти 20 ГБ по индексам). Запросы к этой таблице обычно отображаются в slow.log (порог> 2...

30
Почему сканирование выполняется быстрее, чем поиск этого предиката?

Мне удалось воспроизвести проблему производительности запросов, которую я бы назвал неожиданной. Я ищу ответ, который сосредоточен на внутренних органах. На моей машине следующий запрос выполняет сканирование кластерного индекса и занимает около 6,8 секунд процессорного времени: SELECT ID1, ID2...

29
Может ли пространственный индекс помочь в запросе «диапазон - порядок - предел»

Задавая этот вопрос, специально для Postgres, так как он имеет хорошую поддержку для R-дерева / пространственных индексов. У нас есть следующая таблица с древовидной структурой (модель Nested Set) слов и их частотами: lexikon ------- _id integer PRIMARY KEY word text frequency integer lset integer...

28
Оптимизируются ли представления, когда я добавляю к ним предложение WHERE?

Имеет ли значение, если вы фильтруете представление внутри или снаружи представления? Например, есть ли разница между этими двумя запросами? SELECT Id FROM MyTable WHERE SomeColumn = 1 Или SELECT Id FROM MyView WHERE SomeColumn = 1 И MyViewопределяется как SELECT Id, SomeColumn FROM MyTable И...

28
Как справиться с неправильным планом запроса, вызванным точным равенством по типу диапазона?

Я выполняю обновление, где мне требуется точное равенство для tstzrangeпеременной. Изменено ~ 1M строк, а запрос занимает ~ 13 минут. Результат EXPLAIN ANALYZEможно увидеть здесь , и фактические результаты чрезвычайно отличаются от тех, которые оцениваются планировщиком запросов. Проблема...

28
Использование индексированных представлений для агрегатов - слишком хорошо, чтобы быть правдой?

У нас есть хранилище данных с довольно большим количеством записей (10-20 миллионов строк), и мы часто выполняем запросы, которые подсчитывают записи между определенными датами или подсчитывают записи с определенными флагами, например SELECT f.IsFoo, COUNT(*) AS WidgetCount FROM Widgets AS w JOIN...

27
Какой самый быстрый способ вставить большое количество строк?

У меня есть база данных, в которую я загружаю файлы в промежуточную таблицу, из этой промежуточной таблицы у меня есть 1-2 соединения, чтобы разрешить некоторые внешние ключи, а затем вставить эти строки в итоговую таблицу (которая имеет один раздел в месяц). У меня есть около 3,4 миллиарда строк...