29 lines
2.3 KiB
Markdown
29 lines
2.3 KiB
Markdown
|
---
|
|||
|
tags:
|
|||
|
- type/zero-link
|
|||
|
parents:
|
|||
|
- "[[00 Разработка]]"
|
|||
|
aliases:
|
|||
|
- база данных
|
|||
|
- базу данных
|
|||
|
---
|
|||
|
- [Журнал БД](Журнал%20БД.md)
|
|||
|
- [Репликация БД](Репликация%20БД.md)
|
|||
|
- [Резервные копии БД](Резервные%20копии%20БД.md)
|
|||
|
- [Транзакция БД](Транзакция%20БД.md)
|
|||
|
|
|||
|
СуБД:
|
|||
|
- [PostgreSQL](00%20PostgreSQL.md)
|
|||
|
- [MySQL](00%20MySQL.md)
|
|||
|
|
|||
|
## Заметки
|
|||
|
|
|||
|
- Память организована в виде страничек. Когда приходит какой-то запрос на обновление данных, страница модифицируется сначала в оперативной памяти, потом попадает на диск.
|
|||
|
- ![](Pasted%20image%2020240531082744.png)
|
|||
|
- Часто думают, что реляционная таблица — это массив. Некоторые даже думают, что это двумерный массив. На самом деле, это гораздо более сложная штука. Это мультимножество – набор определенного сорта кортежей, над которым не задано порядка. В SQL-таблице нет порядка. Это важно. И, как результат, когда вы делаете SELECT* из БД (просканировать все записи), результат выполнения запроса может меняться – строчки могут быть в одном порядке, а могут и в другом. Про это нужно помнить.
|
|||
|
- Профиль нагрузки на реляционную базу данных выглядит следующим образом: 80% запросов это чтение, 20% запросов это запись. Если запросов на запись больше, то возможно реляционная база данных вам не подходит.
|
|||
|
## Улучшение производительности
|
|||
|
- Выбирать правильный тип для колонки
|
|||
|
- Денормализация
|
|||
|
- Меньше индексов - лучше
|
|||
|
- Меньше джойнов - лучше
|