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

14
SQL Server воссоздает планы каждый день

У нас есть эта проблема в нашей производственной среде. Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) - Enterprise Edition (64-разрядная версия) в Windows NT 6.1 (сборка 7601: пакет обновления 1). SQL Server отбрасывает все (почти 100%) старые планы выполнения и воссоздает их каждый день...

14
Уникальные обновления индексов и счетчики модификаций строк статистики

Учитывая следующую таблицу, уникальный кластерный индекс и статистику: CREATE TABLE dbo.Banana ( pk integer NOT NULL, c1 char(1) NOT NULL, c2 char(1) NOT NULL ); CREATE UNIQUE CLUSTERED INDEX pk ON dbo.Banana (pk); CREATE STATISTICS c1 ON dbo.Banana (c1); CREATE STATISTICS c2 ON dbo.Banana (c2);...

14
В чем смысл и польза от использования SqlCommand.Prepare ()?

Я наткнулся на код разработчика, где метод SqlCommand.Prepare () (см. MSDN) широко используется перед выполнением SQL-запросов. И мне интересно, в чем выгода? Образец: command.Prepare(); command.ExecuteNonQuery(); //... command.Parameters[0].Value = 20; command.ExecuteNonQuery(); Я немного поиграл...

14
Постоянное сканирование спулинга

У меня есть таблица с несколькими десятками строк. Упрощенная настройка следующая CREATE TABLE #data ([Id] int, [Status] int); INSERT INTO #data VALUES (100, 1), (101, 2), (102, 3), (103, 2); И у меня есть запрос, который соединяет эту таблицу с набором строк, построенных из значений таблицы (из...

14
Принудительная шпуля индекса

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

13
Почему этот LEFT JOIN работает намного хуже, чем LEFT JOIN LATERAL?

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

13
Работает ли SentryOne Plan Explorer?

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

13
Хранит ли SQL Server 2008 дату создания планов выполнения?

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

13
Почему вторичный селективный индекс не используется, когда предложение 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...

13
Как оптимизатор 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 Если я посмотрю на примерный план выполнения, я...

13
Когда sp_executesql обновляет план запроса?

Вы должны простить мою наивность, поскольку я не администратор баз данных, но, насколько я понимаю, со временем статистика изменения базы данных и хранимая процедура должны быть перекомпилированы, чтобы поддерживать план запроса в актуальном состоянии с учетом последних статистических данных....

13
Почему все столбцы этого запроса выбираются быстрее, чем один столбец, который мне нужен?

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

13
Почему 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...

13
Насколько детерминистическим является создание плана выполнения в SQL Server?

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

12
Как исследовать производительность оператора BULK INSERT?

Я в основном разработчик .NET, использующий Entity Framework ORM. Однако, поскольку я не хочу терпеть неудачу в использовании ORM , я пытаюсь понять, что происходит на уровне данных (базе данных). По сути, во время разработки я запускаю профилировщик и проверяю, какие части кода генерируются в...

12
Как удалить неверный план выполнения из базы данных SQL Azure?

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

12
Функция Force Plan плана запросов не работает

Похоже, что план плана Query Store Force не обеспечивает выполнение плана. Я знаю о Query Store - принудительное не всегда означает принудительное ; тем не менее, мой план может измениться незначительно, но оптимизатор запросов может продолжать выбирать неверные индексы, выбор циклов и т. д. По...

12
Физическая операция конкатенации: гарантирует ли она порядок выполнения?

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