10 способов оптимизации SQL запросов

  1. Значение, содержащееся в IN в инструкции SQL, не должно быть слишком большим
  2. В операторе SELECT нужно указывать имя полей
  3. Используйте LIMIT для ограничения количества записей
  4. Используйте индексы на фильтрующие поля запроса
  5. По надобности, используйте принудительное использование индекса (FORCE INDEX) для ускорения запроса
  6. Измените настройки используемой СУБД для увеличения используемых аппаратных ресурсов
  7. Во время запроса используйте нужный JOIN для более быстрого выполнения запроса
  8. Старайтесь не использовать подзапросы
  9. Используйте нормализацию и денормализацию структуры базы данных. Нормализация уменьшает избыточность данных, а денормализация позволяет уменьшить количество JOIN операций
  10. Разделите нагрузку между несколькими серверами, чтобы улучшить производительность и обеспечить масштабируемость. Используйте репликацию для распределения чтения между несколькими серверами, а также шардирование для распределения данных по нескольким базам данных
Рубрика: Советы | Метки: , , | Оставить комментарий

Разница грейдов Junior, Middle, Senior

Для себя выработал следующие критерии уровня разработчика:

  • Junior. Надо объяснять как делать задачу, контролировать выполнение, внимательно следить что он делает, обучать.
  • Middle. Уже может сам понять задачу и выполнить её. Может сам разработать отдельный элемент системы или часть приложения. Middle уже учится сам.
  • Senior. Может поговорить с бизнесом, понять что ему надо, спроектировать системное решение и сам целиком его реализовать. Если он не знает какую-то технологию, то может сам разобраться, обучиться или найти того кто знает.

Рубрика: Web | Метки: , , | Оставить комментарий

Что такое ORM

ORM (Object Relational Mapping) — это техника, которая связывает полноценные объекты языка программирования с таблицами в реляционной системе управления базами данных.

С помощью ORM можно манипулировать данными в базе данных через объекты, не прибегая к написанию SQL-запросов вручную. Это достигается за счет автоматического преобразования объектов в строки таблиц базы данных и обратно. Такой подход не только упрощает работу с данными в объектно-ориентированных системах, но и позволяет взаимодействовать с ними на более интуитивном уровне благодаря повышению абстракции.

Читать далее
Рубрика: Основы | Метки: , , | Оставить комментарий

Исправление ошибки could not load «libtss2-tcti-tabrmd.so.0»

Иногда при работе с генерацией сертификатов могут возникнуть ошибки, что не хватает какой-либо библиотеки. В этой статье рассказывается как победить эту ошибку TPM 2.0 - could not load "libtss2-tcti-tabrmd.so.0".

Читать далее
Рубрика: Web | Метки: , | Оставить комментарий

Eloquent разница метода attach и sync

Laravel упрощает управление базами данных, особенно при работе с отношениями Many-to-Many («многие ко многим»). Framework предлагает методы attach() и sync(), которые упрощают процесс управления отношениями между связанными сущностями. В этой статье мы рассмотрим функциональные возможности, различия и best practies методов attach() и sync() в контексте отношений Many-to-Many («многие ко многим») в Laravel.

Читать далее
Рубрика: Laravel | Метки: , , , , | Оставить комментарий