Итоги работы
Показанные примеры доказали, что существует больше, чем просто индекс B-Tree, который можно использовать для оптимизации наших запросов. Следует помнить, что оптимизация означает не только скорость выполнения, но и связанную с ответственным управлением дисковым пространством и использованием ЦП.
Благодаря таким движкам, как PostgreSQL, нам предоставляется множество полезных типов индексов, которые могут удовлетворить наши потребности, в то время как большинство из них просты в использовании и легко интегрируются с веб-фреймворками, такими как Django.
И последнее, но не менее важное: ответственные разработчики должны помнить, что введение любого нового индекса негативно повлияет на скорость сохранения новых записей в таблице базы данных (например, выполнение запроса INSERT).
Всегда есть баланс, который нужно найти, чтобы найти идеальное золотое среднее между чтением и созданием данных. Тем не менее, всегда стоит использовать индексы, так как их полезность невозможно переоценить.
Дополнительные ресурсы
Следующие ниже ресурсы предоставляют дополнительную информацию, относящуюся к темам, затронутым в этом разделе:
- Официальная документация PostgreSQL: https://www.postgresql.org/docs/current/indexes.html.
- Индексы PostgreSQL в документации Django: https://docs.djangoproject.com/en/5.0/ref/contrib/postgres/indexes/.
- Введение хэш-индексов в PostgreSQL: https://hakibenita.com/postgresql-hash-index.
- Документация Django: https://docs.djangoproject.com/en/5.0/.
- Исходный код Django: https://github.com/django/django.
- Документация Python: https://docs.python.org/3/.