-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.sql
More file actions
21 lines (15 loc) · 1.43 KB
/
index.sql
File metadata and controls
21 lines (15 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-- Часто нам нужно найти человека по его ФИО (или название соревнования/клуба),
-- но у нас они расположены не в алфавитном порядке.
-- Воспользуемся индексами для оптимизации нашей базы данных.
-- Работаем в UPPERCASE, чтобы поиск был регистронезависимым.
CREATE INDEX ON ballroom_database.dancer (upper(dancer_name));
CREATE INDEX ON ballroom_database.coach (upper(coach_name));
CREATE INDEX ON ballroom_database.club (upper(club_name));
CREATE INDEX ON ballroom_database.competition (upper(competition_name));
-- Иногда мы смотрим на все соревнования какой-то пары, поэтому необходим индекс по id пары.
CREATE INDEX ON ballroom_database.scores (couple_id);
CREATE INDEX ON ballroom_database.registered_couples (couple_id);
-- Иногда мы смотрим на соревнования, где сидела конкретная судья, поэтому необходим индекс по id судьи.
CREATE INDEX ON ballroom_database.judging_panel (judge_id);
-- А иногда мы ищем все пары у конкретного тренера, поэтому необходим индекс по id тренера.
CREATE INDEX ON ballroom_database.couple_x_coach (coach_id);