Articles of sql execution plan

sqlite3 select min, max вместе намного медленнее, чем выбирать их отдельно

sqlite> explain query plan select max(utc_time) from RequestLog; 0|0|0|SEARCH TABLE RequestLog USING COVERING INDEX key (~1 rows) # very fast sqlite> explain query plan select min(utc_time) from RequestLog; 0|0|0|SEARCH TABLE RequestLog USING COVERING INDEX key (~1 rows) # very fast sqlite> explain query plan select min(utc_time), max(utc_time) from RequestLog; 0|0|0|SCAN TABLE RequestLog (~8768261 rows) # […]

Почему Postgres сканирует огромную таблицу вместо использования моего индекса?

Я заметил, что один из моих SQL-запросов намного медленнее, чем я ожидал, и выясняется, что планировщик запросов придумывает план, который мне кажется очень плохим. Мой запрос выглядит так: select A.style, count(Bx is null) as missing, count(*) as total from A left join B using (id, type) where A.country_code in ('US', 'DE', 'ES') group by A.country_code, […]

понимание MySQL Объяснение вывода

У меня есть пара вопросов, объясняющих MySQL. На первом этапе оценки используется REF для типа соединения. Тем не менее, после моего исследования по ref в нем говорится следующее: All rows with matching index values are read from this table for each combination of rows from the previous tables. Что это за предыдущая таблица? Как может […]

Насколько надежным является измерение затрат в PostgreSQL Explain Plan?

Запросы выполняются на большой таблице с 11 миллионами строк. Я уже выполнил ANALYZE в таблице перед выполнением запросов. Запрос 1: SELECT * FROM accounts t1 LEFT OUTER JOIN accounts t2 ON (t1.account_no = t2.account_no AND t1.effective_date < t2.effective_date) WHERE t2.account_no IS NULL; Объясните анализ: Hash Anti Join (cost=480795.57..1201111.40 rows=7369854 width=292) (actual time=29619.499..115662.111 rows=1977871 loops=1) Hash […]

План выполнения SQL-запросов хранимой процедуры

Я немного застрял в хранимой процедуре, которая выполняется очень медленно. Хранимая процедура в основном содержит запрос, который использует входящий параметр (in_id) и помещается в курсор следующим образом: open tmp_cursor for select col1, col2, col3 from table1 tab where ((in_id is null) or (tab.id = in_id)); — tab.id is the PK Когда я получаю план выполнения […]

Почему Oracle игнорирует индекс с помощью ORDER BY?

Мое намерение состоит в том, чтобы получить список пользователей с разбивкой по страницам. Я использую этот алгоритм, от Тома : select * from ( select /*+ FIRST_ROWS(20) */ FIRST_NAME, ROW_NUMBER() over (order by FIRST_NAME) RN from CUSTOMER C ) where RN between 1 and 20 order by RN; У меня также есть индекс, определенный в […]

Значение «Выбор таблиц оптимизировано» в MySQL Объясните план

В чем смысл Select tables optimized away в MySQL Explain plan? explain select count(comment_count) from wp_posts; +—-+————-+—————————+—————————–+ | id | select_type | table,type,possible_keys, | Extra | | | | key,key_len,ref,rows | | +—-+————-+—————————+—————————–+ | 1 | SIMPLE | all NULLs | Select tables optimized away| +—-+————-+—————————+—————————–+ 1 row in set (0.00 sec) Примечание: explain plan […]

Как вы интерпретируете план объяснения запроса?

При попытке понять, как выполняется оператор SQL, иногда рекомендуется посмотреть план объяснения. Каков процесс, который нужно пройти в толковании (смысл) плана объяснения? Что должно выделяться так: «О, это прекрасно работает?» против «О нет, это неправильно».

Intereting Posts
Обновление SQL для СУММ его объединенных значений Поиск панировочных сухарей для вложенных наборов Как оптимизировать LINQ-to-SQL для рекурсивных запросов? Результаты расщепления кросс-таблицы из-за наличия несвязанного поля Могу ли я откатить динамический SQL в SQL Server / TSQL? Выбор с объединением и суммой из таблицы в SQL Server ora-12505 при подключении через SQL Developer Как выполнить скользящую сумму, каждая строка должна включать сумму предыдущих строк Почему иностранные ключи больше используются в теории, чем на практике? PLS-00394: неправильное количество значений в списке INTO оператора выборки Можно ли отправить коллекцию идентификаторов в качестве параметра ADO.NET SQL? PostgreSQL – отображение первой строки как общего количества других строк Три таблицы объединяются в SQL SQL задает значения одного столбца, равного значениям другого столбца в той же таблице Как получить последнее время обновления DB2 MQT