Вопросы с тегом «execution-plan»

Стратегия, выбранная оптимизатором запросов для обработки запроса.

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 …

1
Почему PostgreSQL выбирает более дорогой порядок соединения?
PostgreSQL с использованием значений по умолчанию, плюс default_statistics_target=1000 random_page_cost=1.5 Версия PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Я пылесосил и анализировал. Запрос очень прост: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s …

1
Почему этот LEFT JOIN работает намного хуже, чем LEFT JOIN LATERAL?
У меня есть следующие таблицы (взяты из базы данных Sakila): film: film_id это pkey actor: actor_id - это pkey film_actor: film_id и actor_id - это ключи к фильму / актеру Я выбираю конкретный фильм. Для этого фильма я также хочу, чтобы все актеры участвовали в этом фильме. У меня есть …

1
Насколько детерминистическим является создание плана выполнения в SQL Server?
Даны следующие константы: Одна и та же база данных с одинаковой структурой (таблицы, индексы и т. Д.) Одни и те же данные Та же SQL Server и аппаратная конфигурация Та же статистика Те же параметры SET в клиенте Те же версии SQL Server Те же флаги трассировки Учитывая эти константы, …

2
Когда sp_executesql обновляет план запроса?
Вы должны простить мою наивность, поскольку я не администратор баз данных, но, насколько я понимаю, со временем статистика изменения базы данных и хранимая процедура должны быть перекомпилированы, чтобы поддерживать план запроса в актуальном состоянии с учетом последних статистических данных. Предполагая, что у меня есть хранимая процедура в моей базе данных, …

2
Являются ли проценты затрат в этом плане SQL Server более 100% по уважительной причине?
Я просматриваю кэш плана, ищу низко висящие фрукты оптимизации и наткнулся на этот фрагмент: Почему многие расходы указаны выше 100%? Разве это не может быть невозможно?

1
Хранит ли SQL Server 2008 дату создания планов выполнения?
Недавно мы обновили используемое нами приложение, которое включало изменение схемы для базы данных. Эти изменения могли заставить кэшированные планы выполнения быть отброшенными. Если бы SQL Server был вынужден создать кучу новых планов, это могло бы замедлить работу пользователя. Я хотел бы узнать, было ли это так. Итак, мой вопрос: хранит …

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 …

1
Как оптимизатор 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 Если я посмотрю на примерный план выполнения, я увижу следующее: Первоначальный поиск по индексу (вверху справа) использует индекс IX_SalesOrderHeader_CustomerID и осуществляет поиск …

3
Зачем оператору параллелизма (потоки перераспределения) уменьшать оценки строк до 1?
Я использую SQL Server 2012 Enterprise. Я столкнулся с планом SQL, демонстрирующим некоторое поведение, которое я не нахожу полностью интуитивным. После тяжелой операции параллельного сканирования индекса происходит операция параллелизма (потоки перераспределения), но она убивает оценки строк, возвращаемые сканированием индекса (Object10.Index2), уменьшая оценку до 1. Я провел некоторый поиск, но не …

2
Почему мое предложение WHERE имеет преимущество от «включенного» столбца?
Согласно этому ответу , если индекс не построен по столбцам, которые используются для ограничения, запрос не получит выгоды от индекса. У меня есть это определение: CREATE TABLE [dbo].[JobItems] ( [ItemId] UNIQUEIDENTIFIER NOT NULL, [ItemState] INT NOT NULL, [ItemPriority] INT NOT NULL, [CreationTime] DATETIME NULL DEFAULT GETUTCDATE(), [LastAccessTime] DATETIME NULL DEFAULT …


5
Как удалить неверный план выполнения из базы данных SQL Azure?
DBCC FREEPROCCACHEне работает в Azure SQL DB. Как еще я могу заставить план выкинуть себя из кэша таким образом, чтобы это не повредило производственной системе (то есть я не могу просто изменять таблицы, как бы то ни было)? Это специально для SQL, созданного Entity Framework, так что это не хранимые …

3
Физическая операция конкатенации: гарантирует ли она порядок выполнения?
В стандартном SQL результат a union allне гарантируется в любом порядке. Итак, что-то вроде: select 'A' as c union all select 'B' Может вернуть две строки в любом порядке (хотя на практике в любой известной мне базе данных «A» будет стоять перед «B»). В SQL Server это превращается в план …

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