Назад | Перейти на главную страницу

Производительность запросов снижается при большом количестве логических чтений

Я использую Confio Ignite8 для получения этой информации, и монитор ждет.

У меня есть один часто выполняемый запрос, и я замечаю, что в некоторые дни происходит чрезвычайно большое количество логических чтений, +300000000 на 91000 выполнений. В хороший день логическое чтение намного ниже - 18 000 000 на 94 000 выполнений.

План выполнения запроса использует поиск по кластеризованному индексу и представлен ниже.

StmtText | --Вложенные циклы (Внутреннее соединение, ВНЕШНИЕ ССЫЛКИ: ([f]. [ParentId])) | --Поиск кластерного индекса (ОБЪЕКТ: ([StructuredFN]. [Dbo]. [Папка]. [PK_Folders] AS [ f]), SEEK: ([f]. [FolderId] = (8125)), WHERE: ([StructuredFN]. [dbo]. [Folder]. [DealId] как [f]. [DealId] = (300) ) ORDERED FORWARD) | --Поиск кластерного индекса (ОБЪЕКТ: ([StructuredFN]. [Dbo]. [Folder]. [PK_Folders] AS [p]), SEEK: ([p]. [FolderId] = [StructuredFN]. [dbo]. [Folder]. [ParentId] как [f]. [ParentId]), ГДЕ: ([StructuredFN]. [dbo]. [Folder]. [DealId] как [p]. [DealId] = (300 )) ЗАКАЗАНО ВПЕРЕД)

Вывод из showstatistics io ... Таблица «Папка». Счетчик сканирования 0, логических чтений 4, физических чтений 0, упреждающих чтений 0, логических чтений lob 0, физических чтений lob 0, упреждающих чтений lob 0.

Есть идеи о том, как устранить неполадки, откуда в определенные дни поступают эти высокие логические чтения, а в другие - нет?

Обычно это называется анализом параметров, и вот отличный пост о том, как с этим бороться:

http://www.simple-talk.com/sql/t-sql-programming/parameter-sniffing/