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

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

5
Улучшить производительность sys.dm_db_index_physical_stats
Во время технического обслуживания я пытаюсь получить список фрагментированных индексов. Но запрос очень медленный и выполняется более 30 минут . Я думаю, что это связано с удаленным сканированием на sys.dm_db_index_physical_stats. Есть ли способ ускорить следующий запрос: SELECT OBJECT_NAME(i.OBJECT_ID) AS TableName, i.name AS TableIndexName FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') phystat …

2
Почему запрос выполняется в хранимой процедуре медленнее, чем в окне запроса?
У меня сложный запрос, который выполняется в течение 2 секунд в окне запроса, но около 5 минут в качестве хранимой процедуры. Почему так долго выполняется хранимая процедура? Вот как выглядит мой запрос. Он принимает определенный набор записей (обозначенных @idи @createdDate) и определенный период времени (начиная с 1 года @startDate) и …

2
Какой индекс использовать с множеством повторяющихся значений?
Давайте сделаем несколько предположений: У меня есть таблица, которая выглядит так: a | b ---+--- a | -1 a | 17 ... a | 21 c | 17 c | -3 ... c | 22 Факты о моем наборе: Размер всей таблицы ~ 10 10 строк. У меня есть ~ …

1
Оптимизация запросов к большой базе данных (более 25 миллионов строк, используя max () и GROUP BY)
Я использую Postgres 9.3.5, и у меня есть большая таблица в базе данных, в настоящее время в ней более 25 миллионов строк, и она имеет тенденцию к быстрому увеличению. Я пытаюсь выбрать конкретные строки (все unit_idс только последние unit_timestampдля каждой из них) с помощью простого запроса, как: SELECT unit_id, max(unit_timestamp) …

1
Сравнение двух запросов в SQL Server 2012
Я сравниваю два запроса в SQL Server 2012. Цель состоит в том, чтобы использовать все соответствующие информацию , доступные из оптимизатора запросов при выборе наилучшего запроса. Оба запроса дают одинаковые результаты; максимальный заказ для всех клиентов. Очистка пула буферов была выполнена перед выполнением каждого запроса с помощью FREEPROCCACHE и DROPCLEANBUFFERS …

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

3
Почему все столбцы этого запроса выбираются быстрее, чем один столбец, который мне нужен?
У меня есть запрос, где использование select *не только делает гораздо меньше операций чтения, но также использует значительно меньше процессорного времени, чем использование select c.Foo. Это запрос: select top 1000 c.ID from ATable a join BTable b on b.OrderKey = a.OrderKey and b.ClientId = a.ClientId join CTable c on c.OrderId …

2
Задача оценки мощности множества на внутреннем объединении
Я изо всех сил пытаюсь понять, почему оценка строк так ужасно неправильна, вот мой случай: Простое объединение - с использованием SQL Server 2016 sp2 (та же проблема, что и для sp1), dbcompatiblity = 130. select Amount_TransactionCurrency_id, CurrencyShareds.id from CurrencyShareds INNER JOIN annexes ON Amount_TransactionCurrency_id = CurrencyShareds.Id option (QUERYTRACEON 3604, QUERYTRACEON …

4
Как я могу преобразовать первые 100 миллионов натуральных чисел в строки?
Это немного отвлекает от реальной проблемы. Если предоставление контекста помогает, генерация этих данных может быть полезна для способов тестирования производительности при обработке строк, для генерации строк, для которых необходимо применить к ним некоторую операцию в пределах курсора, или для создания уникальных анонимных замен имен для конфиденциальных данных. Меня просто интересуют …

2
SELECT TOP 1 вредит производительности запросов; Есть ли доступный способ преодолеть это?
В производственном приложении (C # общается с SQL Server 2014 Standard) ниже приведен запрос, который выглядит следующим образом. Большую часть времени это выполняется в миллисекундах. Но иногда (для определенных значений @Id) это сходит с ума и занимает минуту или около того. Это больше, чем время ожидания приложения, поэтому приложение перестает …

3
Высокий CXPACKET и LATCH_EX ждет
У меня возникли проблемы с производительностью системы обработки данных, над которой я работаю. Я собрал статистику ожидания за один час, который показывает большое количество событий ожидания CXPACKET и LATCH_EX. Система состоит из 3 обрабатывающих SQL-серверов, которые выполняют много вычислений и вычислений, а затем подают данные на центральный кластерный сервер. Серверы …

5
Как пейджинг работает с ROW_NUMBER в SQL Server?
У меня есть Employeeтаблица с одним миллионом записей. У меня есть следующий SQL для подкачки данных в веб-приложении. Работает нормально. Однако, что я вижу как проблему - производная таблица tblEmployeeвыбирает все записи в Employeeтаблице (для создания MyRowNumberзначений). Я думаю, что это вызывает выбор всех записей в Employeeтаблице. Это действительно так …

3
Что извлекается с диска во время запроса?
Довольно простой вопрос, возможно, где-то ответили, но я не могу сформировать правильный поисковый вопрос для Google ... Влияет ли количество столбцов в конкретной таблице на производительность запроса при выполнении запросов к подмножеству этой таблицы? Например, если таблица Foo имеет 20 столбцов, но мой запрос выбирает только 5 из этих столбцов, …

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

1
Почему вторичный селективный индекс не используется, когда предложение where фильтрует значение `value ()`?
Настроить: create table dbo.T ( ID int identity primary key, XMLDoc xml not null ); insert into dbo.T(XMLDoc) select ( select N.Number for xml path(''), type ) from ( select top(10000) row_number() over(order by (select null)) as Number from sys.columns as c1, sys.columns as c2 ) as N; Пример XML …

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