wiki:F3

Version 4 (modified by 231121, 9 hours ago) ( diff )

--

Индекси и оптимизација на прашалници

Индекс idx_appointment_room_time

  • Погледот View_Free_Upcoming_Slots се филтрира според exam_room_id и се користи за прикажување на слободни термини во една соба за преглед. Погледот овозможува увид на временски интервали во наредните 24 часа почнувајќи од моменталното време, и изведениот интервал е 30 минути - проценка на времетраење на еден преглед.
  • Иницијалното време на извршување е 492.828ms. Ова е прифатливо време.

EXPLAIN ANALYZE SELECT * FROM View_Free_Upcoming_Slots WHERE exam_room_id = 1;

  • Времето на извршување на insert изнесува 40.213ms. Тоа време е задоволително.

EXPLAIN ANALYZE INSERT INTO Appointment (appointment_id, appointment-time, status, exam_room_id) VALUES (10000001, NOW() + INTERVAL '2 hours', 'Scheduled', 1);

  • Времето на извршување на update изнесува 2137.049ms. Тоа време можеме да го подобриме со индекс, бидејќи овој view би бил користен повеќе пати на ден при закажување нови прегледи.

EXPLAIN ANALYZE UPDATE Appointment SET appointment_time = appointment_time + INTERVAL '30 minutes' WHERE exam_room_id = 1 AND status = 'Scheduled';

Креирање на индексот

CREATE INDEX idx_appointment_room_time ON Appointment (exam_room_id, status, appointment_time);

Подобрување на операцијата update по креирање на индекс

Останати погледи

  • Останатите погледи во базата се извршуваат за време побрзо од 1 секунда така што не им е потребно индексирање и оптимизација. Дополнителни информации за анализа на погледите и нивната брзина може да погледнете во документацијата на следниот линк.

Линк до документација за оптимизација на прашалници

Attachments (5)

Note: See TracWiki for help on using the wiki.