Skip to content

Исчерпывающее руководство по генерируемым столбцам в MySQL

Пересказ статьи Antonello Zanini. A Complete Guide to Generated Columns in MySQL


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

Генерируемые столбцы позволяют хранить в таблице автоматически генерируемые данные без использования предложений INSERT и UPDATE. Эта полезная функциональность стала частью MySQL, начиная с версии 5.7, и представляет альтернативу триггерам для генерации данных. Помимо этого, генерируемые столбцы могут помочь вам написать более простой и более эффективный запрос. Continue reading "Исчерпывающее руководство по генерируемым столбцам в MySQL"

Как создать и сконфигурировать связанный сервер для подключения к MySQL в SQL Server Management Studio

Пересказ статьи Marko Zivkovic. How to create and configure a linked server to connect to MySQL in SQL Server Management Studio


В этой статье дается инструкция, которая по шагам приведет вас к созданию связанного сервера в SSMS для подключения к базе данных MySQL.

Статья состоит из трех разделов:

  • Установка драйвера ODBC для MySQL

  • Конфигурирование драйвера ODBC для подключения к базе данных MySQL

  • Создание и конфигурирование связанного сервера с использованием драйвера ODBC

Continue reading "Как создать и сконфигурировать связанный сервер для подключения к MySQL в SQL Server Management Studio"

Работа с хранимыми функциями в MySQL

Пересказ статьи Robert Sheldon. Working with MySQL stored functions


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

Хранимые функции работают во многом сходно с встроенными функциям MySQL. Вы можете вызвать в выражении функцию любого типа, например, в таких предложениях запроса, как SELECT, WHERE или ORDER BY. Например, вы могли бы использовать встроенную функцию CAST в предложении SELECT для преобразовании типа данных столбца, в частности, CAST(plane_id AS CHAR). Выражение преобразует столбец plane_id (целочисленный) к символьному типу данных. В том же стиле вы можете использовать хранимую функцию в выражении, применяя собственную логику к столбцу plane_id или любому другому столбцу. Continue reading "Работа с хранимыми функциями в MySQL"

Нюансы индексов в MySQL

Пересказ статьи Lukas Vileikis. The nuances of MySQL indexes


Это знают разработчики и администраторы баз данных - существует много нюансов, которые необходимо иметь в виду, чтобы не падала производительность базы данных, и чтобы она не вызывала проблем ни сейчас, ни в будущем.

Одним из ключевых извечных аспектов, влияющих на производительность баз данных, являются индексы - они всегда были ключом к повышению производительности запросов, но они же были окутаны тайной. Не важно, выполняете ли вы поиск в индексах B-tree, составных индексах, пространственных индексах или любых других типах индексов, имеющихся в выбранной вами системе управления базами данных, все они работают по-разному, и все они имеют свойственные им преимущества и недостатки. Помимо этого, преимущества и недостатки типов индексов уникальны для используемой системы управления базами данных. Но здесь мы сфокусируемся на MySQL и её клонах (Percona Server и MariaDB); все советы, применимые к MySQL, также применимы к Percona Server и MariaDB. Continue reading "Нюансы индексов в MySQL"

Работа с хранимыми процедурами в MySQL

Пересказ статьи Robert Sheldon. Working with MySQL Stored Procedures


Подобно большинству систем управления реляционными базами данных, MySQL поддерживает использование хранимых процедур, которые могут вызываться по требованию приложениями, управляемыми данными. Каждая хранимая процедура является именованным объектом базы данных, которая содержит процедурный код, состоящий из одного или более операторов SQL. Когда приложение вызывает хранимую процедуру, MySQL выполняет эти операторы и возвращает результаты в приложение. Continue reading "Работа с хранимыми процедурами в MySQL"

Работа с представлениями в MySQL

Пересказ статьи Robert Sheldon. Working with MySQL Views


Подобно другим системам управления базами данных, MySQL позволяет вам создавать представления, которые дают возможность пользователям и приложениям получать данные без предоставления им непосредственного доступа к лежащим в основе таблицам. Вы можете думать о представлении как о предварительно определенном запросе, который MySQL выполняет при обращении к представлению. MySQL хранит определение представления как объект базы данных, подобно табличному объекту. Continue reading "Работа с представлениями в MySQL"

Работа с таблицами MySQL

Пересказ статьи Robert Sheldon. Working with MySQL tables


Таблицы лежат в сердце любой базы данных MySQL, обеспечивая структуру организации данных и доступа к ним других приложений. Таблицы также помогают обеспечить целостность этих данных. Чем лучше вы поймете, как создавать и модифицировать таблицы, тем легче будет управлять другими объектами базы данных и тем эффективней вы сможете работать с MySQL в целом. Наличие твердого фундамента в виде таблиц поможет вам также строить более эффективные запросы, чтобы вы могли получать требуемые данные (и только их), не снижая производительности базы данных. Continue reading "Работа с таблицами MySQL"

Как секционировать таблицы MySQL

Пересказ статьи Everett Berry. How to Partition MySQL Tables


Горизонтальное и вертикальное секционирование


Имеется два типа секционирования базы данных: вертикальное и горизонтальное

Вертикальное секционирование


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

Горизонтальное секционирование


Секционирование логически разбивает строки по нескольким таблицам. Число столбцов остается неизменным при разбиении, в то время как число строк может меняться. MySQL в настоящее время поддерживает горизонтальное секционирование. Здесь мы рассмотрим три различных вида горизонтального секционирования в MySQL. Continue reading "Как секционировать таблицы MySQL"

Запросы SQL для изменения типа данных столбца

Пересказ статьи Nisarg Upadhyay. SQL queries to change the column type


В этой статье рассматриваются различные SQL-запросы для изменения типа столбца. Мы собираемся выяснить, как можно изменить тип данных столбца в следующих базах данных:

  1. SQL Server 2019

  2. MySQL Server

  3. PostgreSQL

Continue reading "Запросы SQL для изменения типа данных столбца"

Временные таблицы в MySQL: высокоуровневый обзор

Пересказ статьи Everett Berry. Temporary Tables in MySQL: A High-level Overview


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

Каждый, кто серьезно работал с MySQL, вероятно, замечал, какое влияние большие данные оказывают на базы данных MySQL - скорее всего какие-то нюансы секционирования или пара вещей, связанных с индексами. Однако другой важной особенностью, предлагаемой MySQL для работы с большим данными, является возможность создания временных таблиц. В этой статье мы собираемся более детально осветить этот вопрос. Continue reading "Временные таблицы в MySQL: высокоуровневый обзор"

Синтаксис MySQL CREATE TABLE для разработчиков T-SQL

Пересказ статьи Edwin Sanchez. Top 5 MySQL CREATE TABLE Syntax for T-SQL Developers


Вы разработчик T-SQL, изучающий основы MySQL? Тогда одной из вещей, которую вы захотите узнать, это CREATE TABLE в MySQL. Кроме всего прочего, наискорейший способ изучить новую платформу баз данных SQL, это сравнение общей функциональности и синтаксиса.

Continue reading "Синтаксис MySQL CREATE TABLE для разработчиков T-SQL"

Работа с курсорами SQL

Пересказ статьи Manoj Debnath. Working with SQL Cursors


В языке SQL курсоры служат указателями, которые позволяют языку написания приложений обрабатывать результаты запросов построчно. В данной статье вкратце объясняется концепция и показывается, как объявить курсор, открыть, извлечь из него данные, а затем закрыть. Continue reading "Работа с курсорами SQL"

Понимание хеш соединений в MySQL 8

Пересказ статьи Tibor Korocz. Understanding Hash Joins in MySQL 8



В MySQL 8.0.18 появилась новая функция, которая называется Hash Join, и я захотел посмотреть, как она работает, и в каких ситуациях она может нам помочь.

В общих чертах операция состоит в следующем: при выполнении соединения в памяти создается хеш-таблица на базе одной из соединяемых таблиц, другая таблица читается построчно, вычисляется хеш и выполняется поиск по этому хеш-ключу в хеш-таблице, находящейся в памяти. Continue reading "Понимание хеш соединений в MySQL 8"