Учебно-практическое пособие москва 2017 ббк


WHERE date_trunc( 'mon', b.book_date ) = '2016-09-01'



Pdf көрінісі
бет239/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   235   236   237   238   239   240   241   242   243
Байланысты:
Язык SQL. Базовый курс

WHERE date_trunc( 'mon', b.book_date ) = '2016-09-01'
AND t.book_ref = b.book_ref
GROUP BY b.book_ref
) AS count_tickets( book_ref, num_tickets )
250


GROUP by num_tickets
ORDER BY num_tickets DESC;
Были проведены два эксперимента с параметрами планировщика
enable_hashjoin и enable_nestloop при наличии индекса по таблице tickets.
SET enable_hashjoin = off;
SET
SET enable_nestloop = off;
SET
Однако полученные планы детально рассмотрены не были.
Задание.
Проанализируйте эти планы. Посмотрите, в каких случаях использу-
ются и в каких не используются индексы по таблицам bookings и tickets. Вспом-
ните о таком понятии, как
селективность
, т. е. доля строк, выбираемых из таб-
лицы.
14. В столбцах таблиц могут содержаться значения NULL. При сортировке строк по
значениям таких столбцов СУБД по умолчанию ведет себя так, как будто зна-
чение NULL превосходит по величине любые другие значения. В результате по-
лучается, что если задан возрастающий порядок сортировки, то значения NULL
будут идти последними, если же порядок сортировки убывающий, тогда они бу-
дут первыми. Принимая решение о создании индексов, нужно учитывать требу-
емый порядок сортировки и желаемое расположение строк со значениями NULL
в выборке (в ее начале или в конце).
Давайте создадим таблицу, содержащую такое число строк, что использование
индекса планировщиком становится очень вероятным, и выполним с этой таб-
лицей ряд экспериментов.
CREATE TABLE nulls AS
SELECT num::integer, 'TEXT' || num::text AS txt
FROM generate_series( 1, 200000 ) AS gen_ser( num );
SELECT 200000
Проиндексируем таблицу по числовому столбцу. Поскольку мы не указываем
порядок сортировки явным образом, то по умолчанию он будет возрастающим,
как если бы мы использовали ключевое слово ASC.


Достарыңызбен бөлісу:
1   ...   235   236   237   238   239   240   241   242   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет