wiki:MenuDrinkView

Version 7 (modified by 223235, 11 days ago) ( diff )

--

Преглед: v_menu_drink

Својство Вредност
Шема kbnteam
Категорија Мени и каталог
Поврзани индекси Примарни и уникатни клучеви

Опис

Ги прикажува пијалоците, нивната количина и цена, како и ресторанот.

Едноставно спојување на drink и restaurant, без агрегации.

Еден ред за секој пијалак. Менито не се ограничува според активноста на договорите.

Зависности

Табела / преглед Употреба
kbnteam.drink Пијалоци, количини, цени и ресторан.
kbnteam.restaurant Податоци за рестораните.

Излезни колони

Колона Извор / пресметка Опис
drink_id drink.drink_id Идентификатор на пијалакот.
drink_name drink.drink_name Назив на пијалакот.
drink_milliliters drink.drink_milliliters Количина во милилитри.
drink_price drink.drink_price Цена на пијалакот.
rest_id restaurant.rest_id Идентификатор на ресторанот.
rest_name restaurant.rest_name Назив на ресторанот.

SQL дефиниција

CREATE OR REPLACE VIEW kbnteam.v_menu_drink AS
SELECT
    d.drink_id,
    d.drink_name,
    d.drink_milliliters,
    d.drink_price,
    r.rest_id,
    r.rest_name
FROM kbnteam.drink d
JOIN kbnteam.restaurant r ON r.rest_id = d.rest_id;

Индексна поддршка

drink(rest_id, drink_name) е покриен со уникатното ограничување uq_drink_restaurant_name, а restaurant(rest_id) со примарен клуч. За овој преглед нема дополнителен индекс.

Нема дополнителна CREATE INDEX наредба за овој преглед. Тековната дефиниција се потпира на основните индекси. Евиденцијата не го потврдува точниот сет индекси во двете измерени состојби.

Проверка на индексите

SELECT tablename, indexname, indexdef
FROM pg_indexes
WHERE schemaname = 'kbnteam'
  AND tablename IN ('drink', 'restaurant')
ORDER BY tablename, indexname;

Тестирање на перформанси

SELECT

Времето на извршување на SELECT прашалникот е прифатливо за редовното користење на погледот. Постоечката индексна поддршка е доволна за тестираните прашалници.

INSERT и UPDATE

Тестирани се по еден INSERT и еден UPDATE врз kbnteam.drink, главната табела на погледот. Се тестира додавање пијалок и промена на неговата цена.

Операција Execute (ms) Fetch (ms) Вратени редови
INSERT 17 17 1
UPDATE 16 17 1

Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди.

Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK.

INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.

Note: See TracWiki for help on using the wiki.