Задать вопрос
maxxtweek
@maxxtweek
Начинающий бекэнд разработчик

Где лучше учить sql?

Всем привет, являюсь php-программистом, работаю с бд на уровне(select,insert,delete).
Тут столкнулся с оптимизацией бд, и в процессе работы гуглил, хотелось бы подучить эту часть, что посоветуете?
Нашел интерактивные учебники по sql'ю, но задания там по типу "Сделайте выборку с такими то условиями" и т.д. не устраивают, так как это все и так понимаю, хотелось бы тонкости.
Например:
Как нормализировать бд, как структурировать данные, как правильно вешать индексы, где нужны, где нет, какие запросы составлять лучше и т.д.
Хотелось бы какой-нибудь курс или цикл статей по sql'ю.
Заранее благодарю.
  • Вопрос задан
  • 4643 просмотра
Подписаться 33 Простой 1 комментарий
Ответ пользователя Legushka К ответам на вопрос (7)
@Legushka
если вы участвуете в проекте где уже БД есть, то не забивайте голову нормализацией (сейчас для ускорения иногда от нее даже уходят в сторону денормализации данных, но это вам пока точно не надо)

1. научитесь отлавливать запросы которые выполняются долго (по общему сумарному времени работы CPU)
для этого научитесь мониторить такие вещи (zabbix, pgbadger, логи)
2. после выявления ресурсоемких запросов смотрите их explain
3. оптимизируейте эти эксплейны в сторону улучшения стоимости запроса (либо в сторону уменьшения потребления shared buffers если проект высоконагруженный и много пользователей)
Ответ написан