Цифровое образование

OTUS: Реляционные СУБД // Бесплатный урок OTUS - видео, OTUS: Курс | Управление базами данных - видео HD

OTUS: Реляционные СУБД // Бесплатный урок OTUS - видео
01:38:39
  1. OTUS: Управление базами данных // День открытых дверей OTUS - видео

    OTUS: Управление базами данных // День открытых дверей OTUS - видео

    OTUS Онлайн - образование 01:11:26
  2. OTUS: Управление базами данных // День открытых дверей OTUS - видео

    OTUS: Управление базами данных // День открытых дверей OTUS - видео

    OTUS Онлайн - образование 01:07:28
  3. OTUS: Внутренняя архитектура СУБД // Бесплатный урок OTUS - видео

    OTUS: Внутренняя архитектура СУБД // Бесплатный урок OTUS - видео

    OTUS Онлайн - образование 01:56:00
  4. OTUS: Реляционные СУБД // Бесплатный урок OTUS - видео

    OTUS: Реляционные СУБД // Бесплатный урок OTUS - видео

    OTUS Онлайн - образование 01:38:39
  5. OTUS: Основы MongoDB // Бесплатный урок OTUS - видео

    OTUS: Основы MongoDB // Бесплатный урок OTUS - видео

    OTUS Онлайн - образование 01:37:33
  6. OTUS: Использование индексов // Бесплатный урок OTUS - видео

    OTUS: Использование индексов // Бесплатный урок OTUS - видео

    OTUS Онлайн - образование 01:37:33
  7. OTUS: Управление базами данных // Алексей Цыкунов и Кристина Кучерова о курсе OTUS - видео

    OTUS: Управление базами данных // Алексей Цыкунов и Кристина Кучерова о курсе OTUS - видео

    OTUS Онлайн - образование 00:07:23
  8. OTUS: Отзыв о курсе «Управление базами данных» // OTUS - видео

    OTUS: Отзыв о курсе «Управление базами данных» // OTUS - видео

    OTUS Онлайн - образование 00:03:11
  9. OTUS: Модель работы с данными в PostgreSQL // Бесплатный урок OTUS - видео

    OTUS: Модель работы с данными в PostgreSQL // Бесплатный урок OTUS - видео

    OTUS Онлайн - образование 01:30:37
  10. OTUS: Управление базами данных // День открытых дверей OTUS - видео

    OTUS: Управление базами данных // День открытых дверей OTUS - видео

    OTUS Онлайн - образование 01:23:19
  11. OTUS: Базы Данных // День открытых дверей OTUS - видео

    OTUS: Базы Данных // День открытых дверей OTUS - видео

    OTUS Онлайн - образование 00:52:10
  12. OTUS: Резервное копирование и восстановление PostgreSQL // Бесплатный урок OTUS - видео -

    OTUS: Резервное копирование и восстановление PostgreSQL // Бесплатный урок OTUS - видео -

    OTUS Онлайн - образование 01:31:16
  13. OTUS: Базы данных // День открытых дверей OTUS - видео

    OTUS: Базы данных // День открытых дверей OTUS - видео

    OTUS Онлайн - образование 00:57:11
  14. OTUS: NDB cluster MySQL // Бесплатный урок OTUS - видео

    OTUS: NDB cluster MySQL // Бесплатный урок OTUS - видео

    OTUS Онлайн - образование 01:02:48
  15. OTUS: Demo day онлайн-курса «Базы данных» - видео

    OTUS: Demo day онлайн-курса «Базы данных» - видео

    OTUS Онлайн - образование 01:07:42
  16. OTUS: Демо занятие курса «Базы данных» - видео

    OTUS: Демо занятие курса «Базы данных» - видео

    OTUS Онлайн - образование 01:24:13
Работая в сфере IT, нужно постоянно изучать новое, чтобы оптимизировать процессы и улучшать результаты труда. Часто для этого требуется в сжатые сроки освоить смежные направления и новые технологии. Где брать время? Учиться онлайн у профессионалов!

Реляционные СУБД // Бесплатный урок OTUS - видео.

Поговорим о типах индексов (Btree, Bitmap, Hash), обсудим их преимущества и недостатки. В каких случаях какие именно применяются, как они работают при операциях SELECT/INSRT/UPDATE/DELETE, а также когда их применять не стоит.

Преподаватель: Алексей Цыкунов — системный архитектор, Oracle DBA, разработчик perl/python

Подключайтесь к обсуждению в чате — otus.pw/wT8j/

Пройдите опрос по итогам мероприятия — otus.pw/nrrU/

Учитесь у профессионалов: otus.pw/SGz1/

Следите за новостями проекта:

— Facebook: otus.pw/3hO2
— Telegram: t.me/Otusjava
— ВКонтакте: otus.pw/850t
— LinkedIn: otus.pw/yQwQ/
— Хабр: otus.pw/S0nM/
RSS
Алексей Цыкунов
16:53
в лекции была допущена ошибка при рассмотрении поведения сортировки с некорректной интерпретацией using filesort
mysql> explain select * from products order by manufacturer_id;

+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+----------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+----------------+
| 1 | SIMPLE | products | NULL | ALL | NULL | NULL | NULL | NULL | 6656 | 100.00 | Using filesort |
+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+----------------+
1 row in set, 1 warning (0.00 sec)

extra = using filesort означает, что Mysql делает дополнительную сортировку в памяти
в нашем случае оптимизатор решил, что ему так выгоднее, чем считывать в память еще и индекс и строить сортировку по нему
наличие в extra еще и using temporary означает что используется врменный тэйблспейс -те используется еще и диск
если же бы мы выбирали одно индексное поле то используется индекс и выдает данные в отсортированном порядке
mysql> explain select manufacturer_id from products;
+----+-------------+----------+------------+-------+---------------+--------------------+---------+------+------+----------+-------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------+------------+-------+---------------+--------------------+---------+------+------+----------+-------------+
| 1 | SIMPLE | products | NULL | index | NULL | manufacurer_fk_idx | 5 | NULL | 6656 | 100.00 | Using index |
+----+-------------+----------+------------+-------+---------------+--------------------+---------+------+------+----------+-------------+
1 row in set, 1 warning (0.00 sec)

при наличии условия условия по индексу СУБД по любому читает индекс и использует его для сортировки
mysql> explain select * from products where manufacturer_id<10 order by manufacturer_id;
+----+-------------+----------+------------+-------+--------------------+--------------------+---------+------+------+----------+-----------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------+------------+-------+--------------------+--------------------+---------+------+------+----------+-----------------------+
| 1 | SIMPLE | products | NULL | range | manufacurer_fk_idx | manufacurer_fk_idx | 5 | NULL | 46 | 100.00 | Using index condition |
+----+-------------+----------+------------+-------+--------------------+--------------------+---------+------+------+----------+-----------------------+
1 row in set, 1 warning (0.00 sec)

Можно также принудительно заставить оптимизатор использовать индекс для сортировки
mysql> explain select * from products FORCE INDEX FOR ORDER BY (manufacurer_fk_idx) order by manufacturer_id;
+----+-------------+----------+------------+-------+---------------+--------------------+---------+------+------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------+------------+-------+---------------+--------------------+---------+------+------+----------+-------+
| 1 | SIMPLE | products | NULL | index | NULL | manufacurer_fk_idx | 5 | NULL | 6656 | 100.00 | NULL |
+----+-------------+----------+------------+-------+---------------+--------------------+---------+------+------+----------+-------+
1 row in set, 1 warning (0.00 sec)

mysql> explain select * from products USE INDEX FOR ORDER BY (manufacurer_fk_idx) order by manufacturer_id;
+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+----------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+----------------+
| 1 | SIMPLE | products | NULL | ALL | NULL | NULL | NULL | NULL | 6656 | 100.00 | Using filesort |
+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+----------------+
1 row in set, 1 warning (0.00 sec)

обратите внимание на разницу между FORCE и USE

приношу извинение за некорректную интерпретацию во время лекции
Загрузка...