Вопросы с тегом «optimization»

19
Влияет ли «ГДЕ 1 = 1» на производительность запросов?

Я недавно видел вопрос "где 1 = 1 утверждение" ; конструкция SQL, которую я часто использовал при построении динамического SQL, чтобы написать более чистый код (с точки зрения основного языка). Вообще говоря, влияет ли это дополнение к SQL-статистике на производительность запросов? Я не ищу ответа...

18
EXPLAIN ANALYZE не показывает детали для запросов внутри функции plpgsql

Я использую функцию PL / pgSQL в PostgreSQL 9.3 с несколькими сложными запросами внутри: create function f1() returns integer as $$ declare event tablename%ROWTYPE; .... .... begin FOR event IN SELECT * FROM tablename WHERE condition LOOP EXECUTE 'SELECT f2(event.columnname)' INTO dummy_return; END...

18
Оптимизация поиска по числовому диапазону (интервалу) в SQL Server

Этот вопрос похож на Оптимизацию поиска диапазона IP-адресов? но этот ограничен SQL Server 2000. Предположим, у меня есть 10 миллионов диапазонов, предварительно сохраненных в таблице, структурированной и заполненной, как показано ниже. CREATE TABLE MyTable ( Id INT IDENTITY PRIMARY KEY, RangeFrom...

18
Почему табличная переменная вызывает сканирование индекса, в то время как временная таблица использует поиск и поиск по закладкам?

Я пытаюсь понять, почему использование табличной переменной не позволяет оптимизатору использовать поиск по индексу, а затем поиск по закладкам по сравнению со сканированием индекса. Заполнение таблицы: CREATE TABLE dbo.Test ( RowKey INT NOT NULL PRIMARY KEY, SecondColumn CHAR(1) NOT NULL DEFAULT...

18
Можно ли дать оптимизатору больше времени или все, что ему нужно?

Учитывая, что оптимизатор не может занимать все необходимое время (он должен минимизировать время выполнения и не вносить в него свой вклад), чтобы изучить все возможные планы выполнения, которые он иногда отключает. Мне было интересно, если это можно переопределить, чтобы вы могли дать...

18
Разделение SQL-запроса со многими объединениями на более мелкие помогает?

Нам нужно каждый вечер составлять отчеты на нашем SQL Server 2008 R2. Расчет отчетов занимает несколько часов. Чтобы сократить время, мы пересчитываем таблицу. Эта таблица создана на основе JOINining 12 довольно больших (десятки миллионов строк) таблиц. Расчет этой таблицы агрегации занял несколько...

17
Настройки MySQL InnoDB page_cleaner могут быть неоптимальными

Видя эту заметку в mysqld.log: [Note] InnoDB: page_cleaner: 1000ms intended loop took 15888ms. The settings might not be optimal. (flushed=200 and evicted=0, during the time.) Кажется, здесь есть упоминание о чем-то вроде этого: экземпляр MySQL останавливается, «делает индекс SYNC» Мой вопрос:...

16
Монументальная разница во времени выполнения между запросами при использовании подсказки запроса RECOMPILE

У меня есть два почти идентичных запроса на одном экземпляре SQL Server 2005: Первый - это оригинальный SELECTзапрос, сгенерированный LINQ (я знаю, я знаю ... я не разработчик приложений, просто администратор БД :). Второй точно такой же, как первый, добавленный OPTION (RECOMPILE)в конце. Больше...

16
Почему ссылка на переменную в предикате объединения заставляет вложенные циклы?

Я недавно сталкивался с этой проблемой и не мог найти никакого обсуждения этого онлайн. Запрос ниже DECLARE @S VARCHAR(1) = ''; WITH T AS (SELECT name + @S AS name2, * FROM master..spt_values) SELECT * FROM T T1 INNER JOIN T T2 ON T1.name2 = T2.name2; Всегда получает план вложенных циклов Попытка...

16
Oracle не использует уникальный индекс для длинного ключа

У меня есть таблица с 250K строк в моей тестовой базе данных. (В производстве несколько сотен миллионов, мы можем наблюдать ту же проблему.) Таблица имеет строковый идентификатор nvarchar2 (50), а не ноль, с уникальным индексом (это не PK). Идентификаторы состоят из первой части, имеющей 8...

16
Как ускорить выделение отличного?

У меня есть простой выбор различных данных временных рядов: SELECT DISTINCT user_id FROM events WHERE project_id = 6 AND time > '2015-01-11 8:00:00' AND time < '2015-02-10 8:00:00'; И это занимает 112 секунд. Вот план запроса: http://explain.depesz.com/s/NTyA Мое приложение должно...

16
Модификация GEQO (Генетическая оптимизация запросов) PostgreSQL

Мне нужно реализовать функциональность, которая соответствует функциональности GEQO в PostgreSQL. Я понимаю, что подход GEQO заключается в кодировании планов запросов в виде целочисленных строк, и GEQO генерирует эти возможные последовательности соединения случайным образом. Источник:...

15
Проблема производительности MySQL при использовании индексированного столбца datetime

Я пытался решить следующую проблему в течение часа и так и не получил дальнейшее развитие. Хорошо, у меня есть таблица (MyISAM): +---------+-------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra |...

15
Почему количество выполнений сканирования кластерного индекса так велико?

У меня есть два похожих запроса, которые генерируют один и тот же план запроса, за исключением того, что один план запроса выполняет сканирование кластерного индекса 1316 раз, а другой - 1 раз. Единственная разница между двумя запросами - это разные критерии даты. Долгосрочный запрос фактически...

15
Оптимизация: перемещение объявлений переменных в начало вашей процедуры

Работая над оптимизацией некоторых хранимых процедур, я сел с администратором базы данных и прошел через некоторые хранимые процедуры с высокой блокировкой и / или высокой активностью чтения / записи. DBA упомянул одну вещь: я должен объявить все переменные (особенно TABLEте) в начале хранимой...

15
Индекс не используется с `= any ()`, но используется с `in`

Таблица tимеет два индекса: create table t (a int, b int); create type int_pair as (a int, b int); create index t_row_idx on t (((a,b)::int_pair)); create index t_a_b_idx on t (a,b); insert into t (a,b) select i, i from generate_series(1, 100000) g(i) ; Индекс не используется с anyоператором:...

15
Внезапно медленный план выполнения для хранимых процессов

Я пытаюсь понять проблему, которая возникает у нас с SQL Server 2000. Мы являемся веб-сайтом с умеренными транзакциями, и у нас есть хранимый процесс, sp_GetCurrentTransactionsкоторый принимает идентификатор клиента и две даты. Теперь, в зависимости от даты и клиента, этот запрос может возвращать...

15
Почему оператор агрегирования используется после сканирования уникального индекса

У меня есть таблица с уникальным индексом, отфильтрованным для ненулевых значений. В плане запроса есть использование различных. Есть причина для этого? USE tempdb CREATE TABLE T1( Id INT NOT NULL IDENTITY PRIMARY KEY ,F1 INT , F2 INT ) go CREATE UNIQUE NONCLUSTERED INDEX UK_T1 ON T1 (F1,F2) WHERE...

15
Индексы для SQL-запроса с условием WHERE и GROUP BY

Я пытаюсь определить, какие индексы использовать для запроса SQL с WHEREусловием, а GROUP BYкоторый в настоящее время работает очень медленно. Мой запрос: SELECT group_id FROM counter WHERE ts between timestamp '2014-03-02 00:00:00.0' and timestamp '2014-03-05 12:00:00.0' GROUP BY group_id В...