Как это работает, когда написано так много SQL? Основа логической архитектуры Mysql

интервью
Как это работает, когда написано так много SQL? Основа логической архитектуры Mysql

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

Ладно, не будем нести чушь, с нуля, начнем с нуля, по кирпичику, и поговорим непосредственно об основных принципах и практических упражнениях SQL. Структура этой серии SQL очень проста. Первый и второй разделы представляют собой базовую структуру развертывания SQL и логику выполнения SQL. Каждый из следующих разделов посвящен актуальным проблемам, сначала задавая бизнес-вопросы, анализируя, какие данные использовать, а затем анализ псевдокода SQL и, наконец, написать SQL, получить нужные результаты и попробовать различные методы для сравнения оптимальной производительности. Если это сложный запрос, он обычно рассматривается с трех точек зрения: самоподключение, пользовательские переменные и оконные функции. Идея универсальна, проста и эффективна. Самое главное практиковаться, кодить не значит учиться. Объектами этой серии являются бизнес-персонал, аналитики данных и студенческие группы, которые заинтересованы в анализе данных и имеют базовые знания о добавлении, удалении, модификации и проверке. Сегодня мы в основном говорим о логической архитектуре Mysql.

Далее, давайте посмотрим на эту картинку (картинка взята из классической книги «Высокопроизводительная MySQL (третье издание)»). На картинке выше показано, что делает MySQL, когда мы отправляем запрос в MySQL. Вы можете видеть, что вся программа Mysql разделена на клиентскую и серверную. Клиент - это место, где мы пишем SQL. Некоторые операторы SQL записываются из командной строки. Например, в Linux используйте команду [root@localhost /]# service mysqld start для запуска клиента Mysql или запустите CMD в Windows и затем введите mysql - u root -p может напрямую подключаться к серверу Mysql. Некоторые также пишут SQL из графического клиента, такого как Navicate, который является платным программным обеспечением с мощными функциями, но я больше использую mysqlworkbench, который является официальным клиентом, используемым Mysql, и он также очень удобен. Существует также прямое подключение к серверу Mysql из Python для записи SQL и выборки чисел. Что касается того, как подключиться, об этом мы поговорим позже.

Серверная сторона предоставляет клиенту услуги запроса данных. Мы пользуемся базой данных каждый день, но не осознаем, что, например, при просмотре определенного видео приложение, в котором мы ищем ключевые слова, является клиентом.После ввода ключевого слова и нажатия наша команда отправляется на сервер за ним. Он рассчитывается, чтобы дать нам данные обратной связи. Это специфично для MySQL. Когда мы отправляем запрос в MySQL, он сначала обращается к кешу, чтобы проверить, был ли такой же запрос раньше, и если есть, то напрямую возвращает результат запроса. (Здесь есть две проблемы, одна из которых заключается в том, что последняя версия MySQL 8.0 удалила функцию кэширования, но ее механизм запросов использует хэш). Если кэшированных данных нет, синтаксический анализатор интерпретирует оператор SQL, определяет, является ли ключевое слово неправильным, кавычки и точки с запятой правильными, а также правильный синтаксис. Если есть проблема, возвращается ошибка. Если проблем нет, оптимизатор начинает оптимизировать оператор SQL в соответствии с внутренними правилами выполнения и механизмом базы данных, корректирует порядок выполнения, запускает и выбирает механизм выполнения. Оптимизированный оператор SQL будет отправлен исполнителю, и исполнитель запустит соответствующий механизм запросов для извлечения результатов из файла данных. Наконец, он возвращается клиенту.

1. Управление соединением и проверка безопасности (соединение): MySQL имеет пул соединений (connection pool) для управления клиентскими соединениями. После подключения клиент проверит имя пользователя, пароль и информацию о хосте.

2. Кэш: Кэш - это данные, которые помещаются в память. Как упоминалось ранее, они сохраняются с помощью механизма хэширования. Внутренняя часть более сложная и не расширяется. Это может ускорить выборку. Потеря питания, сбой; занимает вычислительные ресурсы.

3. Синтаксический анализатор: декомпозирует команды SQL в структуры данных (деревья синтаксического анализа), и последующие операции декомпозируются на основе этой структуры.

4. Оптимизатор: в официальном руководстве объясняется, что при выполнении SQL-запросов оптимальный план запроса будет автоматически выбран в соответствии со стоимостью.Сначала выберите количество строк, где и выберите столбцы, которые будут выбраны вместо всех столбцов.Наконец , Объедините содержимое вместе.

5. Исполнитель: включает выполнение команд SQL, получение возвращаемых результатов и создание планов выполнения.

6. Механизм хранения: доступ к драйверу физического файла, его можно понимать как механизм. Привод управляет механизмом хранения для доступа и расчета данных в файле таблицы данных.

Из этого процесса мы можем узнать, что факторы, влияющие на оператор SQL, следующие: тип данных и объем данных (чем больше общий объем данных, тем медленнее сканирование), дизайн архитектуры базы данных (механизм хранения, другая структура таблицы). проекты соответствуют разным бизнес-приоритетам) Ключевые моменты добавления, удаления, изменения и проверки горячих и холодных данных различны), производительность компьютерного оборудования (возможность вычисления данных и передачи данных) и оператор запроса, часто написанный как аналитик данных , первые три фактора учитываются администраторами баз данных, а последний - то, что могут сделать аналитики данных.Хорошо написанные операторы SQL могут не только быстро извлекать данные, но также снижать нагрузку на сервер и сокращать затраты. У меня есть серия сводных статей по продвинутому SQL, прошу обратить внимание на чтение.

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