https://www.dev-notes.ru/articles/laravel/how-database-transactions-work/
#Laravel #Database #Transactions
#Laravel #Database #Transactions
Заметки разработчика
Laravel: Как работают транзакции базы данных
Я не буду повторять как использовать транзакции в Laravel. Разберёмся как они работают в фоновом режиме, что вызывало головную боль и как этого избежать.
#mysql #db #database
Как снизить производительность запросов MySQL в 10 000 раз
Прочтите это медленно:
При запросе индексированного строкового столбца с использованием целочисленного значения ваш индекс не будет использоваться.
@dev_notes_ru
Как снизить производительность запросов MySQL в 10 000 раз
Прочтите это медленно:
При запросе индексированного строкового столбца с использованием целочисленного значения ваш индекс не будет использоваться.
@dev_notes_ru
👍6
#MySQL #features #DB #DataBase
MySQL 9.0 Community Edition: Ключевые возможности и улучшения
Ознакомьтесь с новыми возможностями и улучшениями в MySQL 9.0 Community Edition, вышедшем 1 июля 2024 года. Обзор охватывает обновления типов данных, производительности и новых возможностей, ориентированных на современные приложения.
1 июля 2024 года вышла MySQL 9.0 Community Edition, названная "Инновационным релизом". Новая версия обещает повышенную производительность, гибкость и новые возможности, призванные удовлетворить динамичные потребности современных приложений. Но оправдает ли она надежды, особенно после бурного приёма MySQL 8.0? Давайте посмотрим, что может предложить MySQL 9.0.
📄 Читать статью
@dev_notes_ru
MySQL 9.0 Community Edition: Ключевые возможности и улучшения
Ознакомьтесь с новыми возможностями и улучшениями в MySQL 9.0 Community Edition, вышедшем 1 июля 2024 года. Обзор охватывает обновления типов данных, производительности и новых возможностей, ориентированных на современные приложения.
1 июля 2024 года вышла MySQL 9.0 Community Edition, названная "Инновационным релизом". Новая версия обещает повышенную производительность, гибкость и новые возможности, призванные удовлетворить динамичные потребности современных приложений. Но оправдает ли она надежды, особенно после бурного приёма MySQL 8.0? Давайте посмотрим, что может предложить MySQL 9.0.
📄 Читать статью
@dev_notes_ru
👍1
#laravel #db #database #mysql #backend
Разделение хостов баз данных для оптимизации в Laravel
На сайтах с высокой посещаемостью, например, в электронной коммерции или социальных сетях, где одновременно выполняется множество операций чтения и записи, база данных будет узким местом.
Например, в MySQL производительность чтения может пострадать при одновременном выполнении операций записи, поскольку операции записи могут получить блокировки, которые могут задержать операции чтения, особенно если база данных интенсивно используется и количество одновременных операций велико.
Кроме того, в большинстве случаев дисковый ввод/вывод распределяется между операциями чтения и записи. Большие объёмы записи могут привести к задержке ввода/вывода, замедляя операции чтения.
📄 Читать статью
@dev_notes_ru
Разделение хостов баз данных для оптимизации в Laravel
На сайтах с высокой посещаемостью, например, в электронной коммерции или социальных сетях, где одновременно выполняется множество операций чтения и записи, база данных будет узким местом.
Например, в MySQL производительность чтения может пострадать при одновременном выполнении операций записи, поскольку операции записи могут получить блокировки, которые могут задержать операции чтения, особенно если база данных интенсивно используется и количество одновременных операций велико.
Кроме того, в большинстве случаев дисковый ввод/вывод распределяется между операциями чтения и записи. Большие объёмы записи могут привести к задержке ввода/вывода, замедляя операции чтения.
📄 Читать статью
@dev_notes_ru
👍3
#database #mysql #replication #backend
Как настроить MySQL репликацию Master-Slave
В облачных вычислениях репликация данных "master-slave" означает хранение одной и той же информации на нескольких серверах. Один сервер управляет группой, а другие устройства выполняют работу в пределах одного узла.
Репликация позволяет создавать регулярные ежедневные резервные копии, которые могут восстановить главную базу данных MySQL в случае сбоя в работе хранилища. Это также позволяет одновременно обрабатывать данные, не перегружая master сервер.
📄 Читать статью
@dev_notes_ru
Как настроить MySQL репликацию Master-Slave
В облачных вычислениях репликация данных "master-slave" означает хранение одной и той же информации на нескольких серверах. Один сервер управляет группой, а другие устройства выполняют работу в пределах одного узла.
Репликация позволяет создавать регулярные ежедневные резервные копии, которые могут восстановить главную базу данных MySQL в случае сбоя в работе хранилища. Это также позволяет одновременно обрабатывать данные, не перегружая master сервер.
📄 Читать статью
@dev_notes_ru
👍2🔥1
#database #replication #backend
Типы репликации баз данных
Репликация базы данных — это как создание копий важных документов, чтобы иметь резервные копии на случай, если с оригиналом что-то случится. Существуют различные способы создания таких копий, например, одна основная копия (master), которая обновляется, а затем создаются копии (slave) этой обновлённой версии. Другой способ — иметь несколько основных копий (master), обновляемых и совместно использующих эти обновления. Далее рассмотрим различные типы репликации баз данных.
📄 Читать статью
@dev_notes_ru
Типы репликации баз данных
Репликация базы данных — это как создание копий важных документов, чтобы иметь резервные копии на случай, если с оригиналом что-то случится. Существуют различные способы создания таких копий, например, одна основная копия (master), которая обновляется, а затем создаются копии (slave) этой обновлённой версии. Другой способ — иметь несколько основных копий (master), обновляемых и совместно использующих эти обновления. Далее рассмотрим различные типы репликации баз данных.
📄 Читать статью
@dev_notes_ru
👍3
#laravel #tips #mysql #mariadb #database #db
Совет по Laravel💡: Невидимые столбцы
Если вы используете MySQL/MariaDB в качестве базы данных, вы можете использовать невидимые столбцы. Эти столбцы остаются скрытыми в операторах
@dev_notes_ru
Совет по Laravel💡: Невидимые столбцы
Если вы используете MySQL/MariaDB в качестве базы данных, вы можете использовать невидимые столбцы. Эти столбцы остаются скрытыми в операторах
SELECT *, что идеально подходит для работы с конфиденциальной информацией и предварительно вычисленными столбцами 🚀.@dev_notes_ru
👍3😱2
В большинстве случаев при засеве базы данных не нужно вызывать события модели. Можно использовать трейт
WithoutModelEvents, чтобы отключить эти события, что сделает ваши seeder'ы немного быстрее #laravel #database #seeding #seeder
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#MySQL #GroupBy #DB #DataBase
👩💻 MySQL
Оператор
🖥 Читать статью
📱 @dev_notes_ru
GROUP BYОператор
GROUP BY в MySQL является одним из самых мощных инструментов агрегирования данных в SQL. Он позволяет группировать строки, имеющие общее значение поля, и выполнять для этих групп такие агрегатные функции, как SUM(), COUNT(), AVG(), MAX() и MIN(). Несмотря на свою простоту, GROUP BY может вызвать затруднения у новичков в SQL и даже у опытных разработчиков из-за различных нюансов и потенциальных подводных камней. Мы рассмотрим GROUP BY в MySQL, предоставим исчерпывающее объяснение, многочисленные примеры, типичные ошибки и лучшие практики, чтобы убедиться, что вы используете его эффективно.Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
Я профессионально работаю над веб-приложениями уже более десяти лет, и за это время пришлось научиться использовать множество различных систем и инструментов. В процессе обучения я обнаружил, что официальная документация, как правило, оказывается наиболее полезной.
За исключением… Postgres. Дело не в том, что официальная документация не является выдающейся (она такая и есть!) — она просто огромна. Для текущей версии (17 на момент написания статьи), если распечатать её в виде стандартного PDF на бумаге формата A4, она занимает 3,024 страницы. Это не то, что может просто сесть и прочитать от начала до конца любой начинающий инженер.
Поэтому я хочу попытаться собрать воедино те моменты, которые мне хотелось бы, чтобы кто-то просто рассказал перед началом работы с базой данных Postgres. Надеюсь, это облегчит жизнь следующему человеку, отправляющемуся в путешествие, подобное моему.
Обратите внимание, что многие из этих вещей могут быть применимы и к другим системам управления базами данных (СУБД) SQL или к другим базам данных в целом. Но я не так хорошо с ними знаком, поэтому не уверен, что к ним относится, а что нет.
#DataBase #Postgres #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Большинство баз данных имеют определённые типы данных, но SQLite значительно отличается от других систем баз данных. В статье рассказывается о динамической системе типов SQLite и различных типах данных для тех, кто только начинает работать с SQLite.
SQLite — популярная, лёгкая система баз данных, хранящая данные в одном файле. Её простоте способствует гибкая, динамическая система типов, отличающаяся от статических, жёстких типов, используемых в других системах баз данных, таких как MySQL, PostgreSQL или SQL Server, требующих указания типов данных при создании таблиц.
#DataBase #SQLite #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
В SQL-запросе операторы выполняются в следующем порядке:
1.
FROM / JOIN2.
WHERE3.
GROUP BY4.
HAVING5.
SELECT6.
DISTINCT7.
ORDER BY8.
LIMIT / OFFETПриемы, применяемые на каждом этапе, помогают ускорить выполнение следующих шагов. Поэтому важно знать порядок их выполнения. Чтобы добиться максимальной эффективности, сосредоточьтесь на оптимизации шагов, расположенных на более ранних этапах запроса.
С учётом этого рассмотрим некоторые советы по оптимизации:
Максимизируйте выражение `
WHERE`.Это выражение выполняется раньше, поэтому оно предоставляет хорошую возможность уменьшить размер набора данных до того, как будет обработана остальная часть запроса.
Фильтруйте строки перед `
JOIN`Хотя запрос
FROM/JOIN выполняется первым, всё равно можно ограничить количество строк. Чтобы ограничить количество присоединяемых строк, используйте подзапрос в операторе FROM вместо таблицы.Используйте `
WHERE` вместо `HAVING`Выражение
HAVING выполняется после WHERE и GROUP BY. Это означает, что при возможности стоит перенести все необходимые условия в выражение WHERE.Не путайте `
LIMIT`, `OFFSET` и `DISTINCT` с методами оптимизацииЛегко предположить, что они повышают производительность за счет минимизации набора данных, но это не так. Поскольку они выполняются в конце запроса, они практически не влияют на его производительность.
#SQL #DataBase #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Агрегатные функции SQL
В статье мы рассмотрим наиболее часто используемые агрегатные функции SQL, их синтаксис, практические примеры и способы оптимального использования в запросах.
🖥 Читать статью
📱 @dev_notes_ru
#DataBase #SQL
В статье мы рассмотрим наиболее часто используемые агрегатные функции SQL, их синтаксис, практические примеры и способы оптимального использования в запросах.
#DataBase #SQL
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
Знакомо чувство, когда сложный отчёт в админке загружается по 10 секунд, а пагинация с вычисляемыми полями ломается?
Часто проблема не в коде, а в подходе: мы пытаемся в PHP делать то, что СУБД выполнит в сотни раз быстрее. В новой статье разбираем, как заставить базу данных работать на полную:
Всё — с кодом, миграциями и замером производительности. Переносим логику из PHP в SQL и получаем прирост скорости в 5–10 раз.
#Laravel #MySQL #PHP #Database
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2