Всем привет, являюсь php-программистом, работаю с бд на уровне(select,insert,delete).
Тут столкнулся с оптимизацией бд, и в процессе работы гуглил, хотелось бы подучить эту часть, что посоветуете?
Нашел интерактивные учебники по sql'ю, но задания там по типу "Сделайте выборку с такими то условиями" и т.д. не устраивают, так как это все и так понимаю, хотелось бы тонкости.
Например:
Как нормализировать бд, как структурировать данные, как правильно вешать индексы, где нужны, где нет, какие запросы составлять лучше и т.д.
Хотелось бы какой-нибудь курс или цикл статей по sql'ю.
Заранее благодарю.
если вы участвуете в проекте где уже БД есть, то не забивайте голову нормализацией (сейчас для ускорения иногда от нее даже уходят в сторону денормализации данных, но это вам пока точно не надо)
1. научитесь отлавливать запросы которые выполняются долго (по общему сумарному времени работы CPU)
для этого научитесь мониторить такие вещи (zabbix, pgbadger, логи)
2. после выявления ресурсоемких запросов смотрите их explain
3. оптимизируейте эти эксплейны в сторону улучшения стоимости запроса (либо в сторону уменьшения потребления shared buffers если проект высоконагруженный и много пользователей)
Благодарю за ответ.
Да оптимизация, важный момент, который я бы хотел знать намного лучше, чем в данный момент.
Но это всего лишь одна сторона всего sql, хотелось бы затронуть и что-нибудь другое, чтобы было все в одном месте,а не метаться по всему интернету и из массы информации выбирать нужную.
А по вашему ответу пошел гуглить, новая инфа :)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.