Почему интернет-компании любят использовать базы данных MySQL? (с примечаниями к изучению MySQL)

Java
Почему интернет-компании любят использовать базы данных MySQL? (с примечаниями к изучению MySQL)

предисловие

Каждый день мы посещаем различные веб-сайты и приложения, такие как WeChat, QQ, Douyin, Toutiao и т. д. На этих веб-сайтах содержится большое количество информационных данных, и эти информационные данные необходимо где-то хранить. Где эти данные обычно хранятся?

Как правило, эти данные хранятся в базе данных. Поэтому, если нам нужно разработать веб-сайт или приложение, базу данных — это технология, которую мы должны освоить.Обычно используемые базы данных включают mysql, oracle, sqlserver, db2 и т. д.

Среди нескольких баз данных, описанных выше, oracle занимает первое место по производительности, и сервис вполне на месте, но и начисления очень высокие.Финансовые компании предъявляют высокие требования к стабильности базы данных, и в основном выбирают oracle.

MySQL бесплатен, а некоторые другие временно платные.MySQL также занимает первое место по уровню использования интернет-компаниями. Информация тоже очень полная, и сообщество очень активное, так что мы в основном изучаем mysql.

Общие концепции базы данных

DB

База данных, контейнер для хранения данных.

DBMS

Система управления базами данных, также известная как программное обеспечение базы данных или продукт базы данных, используется для создания или управления БД.

SQL

Язык структурированных запросов, язык, используемый для связи с базой данных, не поддерживается определенным программным обеспечением базы данных, но является общим языком почти для всех основных программ баз данных. Китайцам нужно говорить по-китайски, чтобы общаться друг с другом, по-английски, чтобы общаться с американцами, и на языке SQL, чтобы общаться с базами данных.

Некоторые характеристики хранения данных в базе данных

Данные хранятся в таблице, а затем таблица сохраняется в базе данных

В библиотеке может быть несколько таблиц, и каждая таблица имеет уникальное имя (имя таблицы), чтобы идентифицировать себя.

В таблице есть один или несколько столбцов, которые также называются «полями», что эквивалентно «свойствам» в java.

Каждая строка данных в таблице эквивалентна «объекту» в java.

Некоторые рекомендации по выбору типа данных

выбрать маленький или большой

Как правило, выбирайте наименьший тип данных, который может правильно хранить данные. Меньшие типы данных обычно работают быстрее и занимают меньше места на диске, в памяти и в кэш-памяти ЦП.

Просто хорошо

Операции с простыми типами данных обычно требуют меньше циклов ЦП, например операции с целыми числами намного дешевле, чем операции с символами, поскольку наборы символов и правила сортировки (сопоставления) делают символы более сложными, чем целые числа.

Старайтесь избегать NULL

Сделайте столбец NOT NULL, насколько это возможно, если вам действительно не нужно значение типа NULL, значение столбца с NULL сделает индекс, статистику индекса и сравнение значений более сложными.

Для типов с плавающей запятой рекомендуется выбирать десятичный формат.

Для записи времени рекомендуется использовать тип int или bigint.

Преобразование времени в формат метки времени, например, преобразование времени в секунды, миллисекунды, и сохранение его для удобного индексирования.

Как работают разрешения MySQL

Как mysql идентифицирует пользователя?

Из соображений безопасности mysql использует имя хоста + имя пользователя для определения личности пользователя, т. к. определить личность пользователя через имя пользователя в Интернете сложно, но мы можем использовать ip Или имя хоста определяет машину.Если пользователь заходит через эту машину мы можем идентифицировать ее как пользователя.Поэтому имя пользователя + имя хоста используется в mysql для идентификации личности пользователя. Когда пользователь отправляет команду в mysql, mysql определяет полномочия пользователя через имя пользователя и источник (хост).

Проверка разрешений Mysql делится на 2 этапа:

(1) Этап 1: подключение к базе данных.В это время mysql будет оценивать, есть ли у вас разрешение на подключение, на основе вашего имени пользователя и вашего источника (ip-адрес или имя хоста).

(2) Этап 2: инициировать операции запроса на сервере mysql, такие как создание таблицы, выбор, удаление, обновление, создание индекса и т. д. В это время mysql определит, есть ли у вас разрешение на выполнение этих инструкций.

Как правильно использовать индексы?

Изучение индексов в основном предназначено для написания более быстрого SQL.Когда мы пишем SQL, нам нужно точно знать, почему SQL индексируется? Почему некоторые sql не индексируются? SQL будет иметь эти индексы, почему так? Нам нужно понять его принцип и понять внутренний специфический процесс, чтобы его можно было использовать более плавно и можно было писать более эффективный SQL.

Индексы в Mysql делятся на кластеризованные индексы (индексы первичного ключа) и некластеризованные индексы.

Кластерный индекс (индекс первичного ключа)

Каждая таблица должна иметь кластеризованный индекс.Хранилище данных всей таблицы хранится в файле в виде b+дерева.Ключом в листовом узле b+дерева является значение первичного ключа, а данные – это полная запись информационный, нелистовой Узел хранит значение первичного ключа.

Для извлечения данных через кластеризованный индекс нужно только следовать процессу поиска дерева b+, то есть соответствующие записи могут быть извлечены.

некластеризованный индекс

Каждая таблица может иметь несколько некластеризованных индексов, древовидную структуру b+, ключом конечного узла является значение поля индекса, а данными является значение первичного ключа; нелистовой узел хранит только значение индекса поле. При извлечении записей через некластеризованный индекс требуются две операции. Сначала из некластеризованного индекса извлекается первичный ключ, а затем из кластеризованного индекса извлекаются записи, соответствующие первичному ключу. Этот процесс требует еще одной операции. операции, чем кластеризованный индекс.

Скомпилированные заметки по изучению MySQL очень полны и подробны, охватывают все аспекты базового обучения MySQL, что очень подходит для начинающих! Эта учебная заметка по MySQL содержит в общей сложности 578 страниц.Теперь она открыта для всех.Подпишитесь на официальный аккаунт: Programmer Chasing the Wind, ответьте 012, чтобы получить эту учебную заметку по MySQL.

Учебные заметки MySQL также организованы по каталогам с более конкретным содержанием в каждой главе:

Часть 1: Некоторые основы MySQL

Часть 2: Введение в типы данных в MySQL

Часть 3: Некоторые команды, обычно используемые администраторами MySQL

Часть 4. Сводка общих операций DDL

Часть 5: Общие операции DML

Часть 6. Выберите, чтобы проверить основы

Часть 7: Выберите запрос условия

Часть 8: Сортировка и разбиение на страницы (упорядочить по, ограничить)

Часть 9. Групповые запросы (группировка по, наличие)

Глава 10: Обзор часто используемых функций MySQL

Часть 11: Глубокое понимание запроса и принципа подключения

Часть 12: Подзапросы (Эта часть очень важна и необходима для экспертов)

Глава 13. Детализация ямы, вызванной NULL, которую трудно предотвратить

Глава 14: Подробное объяснение транзакций

Часть 15: Просмотры

Глава 16: Переменные

Часть 17: Подробное объяснение хранимых процедур и пользовательских функций

Глава 18: Введение в операторы управления потоком

Глава 19: Подробное объяснение курсоров

Глава 20: Детали захвата и обработки исключений

Часть 21: Что такое индекс?

Часть 22: Подробное объяснение принципа индексации MySQL

Часть 23: Управление индексами MySQL

Часть 24: Как правильно использовать индексы?

Часть 25. Анализ извлечения и применения условия Where в SQL в базе данных

Часть 26. Расскажите о том, как использовать MySQL для реализации распределенных блокировок.

Часть 27. Как MySQL гарантирует, что данные не будут потеряны? Есть несколько вещей, из которых мы можем извлечь уроки.

Суммировать

Обучение — это вещь на всю жизнь.После периода обучения, если вы хотите проверить эффект своего обучения, лучший способ — подвести итоги самостоятельно. Например, когда я учусь, я сам делаю заметки, а затем сам подвожу итоги.Заметки, которые я делаю, также могут облегчить последующее рассмотрение, и все они являются моим собственным пониманием. Важные вещи говорятся трижды, вперед+вперед+вперёд, обязательно не забудьте вперёд!!!