Spec-Zone.ru › MySQL 8.4

1.2.2 Основные возможности MySQL

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

  • MySQL 8.4: Раздел 1.4, “Что нового в MySQL 8.4 с момента MySQL 8.0”

  • MySQL 8.0:

  • MySQL 5.7:

Внутреннее устройство и переносимость

  • Разработан на языках C и C++.

  • Тестировался с широким спектром различных компиляторов.

  • Работает на многих разных платформах. См. https://www.mysql.com/support/supportedplatforms/database.html.

  • Для переносимости настраивается с помощью CMake.

  • Тестировался с Purify (коммерческий детектор утечек памяти) и Valgrind, инструментом с лицензией GPL (https://valgrind.org/).

  • Использует многоуровневую структуру сервера с независимыми модулями.

  • Разработан для полной многопоточности с использованием потоков ядра, чтобы легко использовать несколько ЦП, если они доступны.

  • Предоставляет транзакционные и нетранзакционные хранилища данных.

  • Использует очень быстрые дисковые таблицы B-дерева (MyISAM) с сжатием индексов.

  • Разработан для относительной простоты добавления других хранилищ данных. Это полезно, если вы хотите предоставить SQL-интерфейс для внутренней базы данных.

  • Использует очень быструю многопоточную систему выделения памяти.

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

  • Реализует кэширующие таблицы хеширования в памяти, которые используются в качестве временных таблиц.

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

  • Представляет сервер как отдельную программу для использования в клиентско-серверной сети.

Типы данных

  • Многие типы данных: целые числа со знаком/без знака длиной 1, 2, 3, 4 и 8 байт, FLOAT, DOUBLE, CHAR, VARCHAR, BINARY, VARBINARY, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM и пространственные типы OpenGIS. См. Главу 13, Типы данных.

  • Типы строк фиксированной и переменной длины.

Операторы и функции

  • Полная поддержка операторов и функций в списке SELECT и части WHERE запросов. Например:

    mysql> SELECT CONCAT(first_name, ' ', last_name)
        -> FROM citizen
        -> WHERE income/dependents > 10000 AND age > 30;
    
  • Полная поддержка SQL-операторных GROUP BY и ORDER BY частей. Поддержка агрегационных функций (COUNT(), AVG(), STD(), SUM(), MAX(), MIN() и GROUP_CONCAT()).

  • Поддержка LEFT OUTER JOIN и RIGHT OUTER JOIN как со стандартным SQL-синтаксисом, так и с синтаксисом ODBC.

  • Поддержка псевдонимов таблиц и столбцов в соответствии со стандартным SQL.

  • Поддержка операторов DELETE, INSERT, REPLACE и UPDATE для возвращения количества изменённых строк (затронутых строк) или для возвращения количества сопоставленных строк вместо этого, установив флаг при подключении к серверу.

  • Поддержка специфичных для MySQL операторов SHOW, которые извлекают информацию о базах данных, хранилищах данных, таблицах и индексах. Поддержка базы данных INFORMATION_SCHEMA, реализованной в соответствии со стандартным SQL.

  • Оператор EXPLAIN для показа того, как оптимизатор обрабатывает запрос.

  • Независимость имён функций от имён таблиц или столбцов. Например, ABS является допустимым именем столбца. Единственное ограничение заключается в том, что для вызова функции пробелы не допускаются между именем функции и “(”, которое за ней следует. См. Раздел 11.3, “Ключевые слова и зарезервированные слова”.

  • Вы можете ссылаться на таблицы из разных баз данных в одном операторе.

Безопасность

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

  • Защита паролей путём шифрования всего трафика паролей при подключении к серверу.

Масштабируемость и ограничения

  • Поддержка больших баз данных. Мы используем MySQL Server с базами данных, содержащими 50 миллионов записей. Нам также известно о пользователях, использующих MySQL Server с 200 000 таблицами и примерно 5 000 000 000 записей.

  • Поддержка до 64 индексов на таблицу. Каждый индекс может состоять из 1 до 16 столбцов или частей столбцов. Максимальная ширина индекса для таблиц InnoDB составляет либо 767 байт, либо 3072 байта. См. Раздел 17.21, “Ограничения InnoDB”. Максимальная ширина индекса для таблиц MyISAM составляет 1000 байт. См. Раздел 18.2, “Хранилище данных MyISAM”. Индекс может использовать префикс столбца для типов столбцов CHAR, VARCHAR, BLOB или TEXT.

Подключение

  • Клиенты могут подключаться к MySQL Server с помощью нескольких протоколов:

    • Клиенты могут подключаться, используя TCP/IP сокеты на любой платформе.

    • В системах Windows клиенты могут подключаться, используя именованные каналы, если сервер запущен с включенной системной переменной named_pipe. Серверы Windows также поддерживают подключения через общую память, если они запущены с включенной системной переменной shared_memory. Клиенты могут подключаться через общую память, используя опцию --protocol=memory.

    • В системах Unix клиенты могут подключаться, используя файлы сокетов Unix-домена.

  • Программы клиентов MySQL могут быть написаны на многих языках. Библиотека клиента, написанная на C, доступна для клиентов, написанных на C или C++, или для любого языка, который предоставляет C-связывание.

  • Доступны API для C, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tcl, что позволяет писать клиентов MySQL на многих языках. См. главу 31, Коннекторы и API.

  • Интерфейс Connector/ODBC (MyODBC) предоставляет поддержку MySQL для программ-клиентов, использующих подключения ODBC (Open Database Connectivity). Например, вы можете использовать MS Access для подключения к вашему серверу MySQL. Клиенты могут работать в Windows или Unix. Источник Connector/ODBC доступен. Поддерживаются все функции ODBC 2.5, а также многие другие. См. .

  • Интерфейс Connector/J предоставляет поддержку MySQL для программ-клиентов Java, использующих подключения JDBC. Клиенты могут работать в Windows или Unix. Источник Connector/J доступен. См. .

  • MySQL Connector/NET позволяет разработчикам легко создавать приложения .NET, которым требуется безопасное и высокопроизводительное подключение к данным MySQL. Он реализует необходимые интерфейсы ADO.NET и интегрируется в инструменты, поддерживающие ADO.NET. Разработчики могут создавать приложения на любом языке .NET по своему выбору. MySQL Connector/NET — это полностью управляемый драйвер ADO.NET, написанный на 100% чистом C#. См. .

Локализация

  • Сервер может предоставлять сообщения об ошибках клиентам на многих языках. См. Раздел 12.12, «Настройка языка сообщений об ошибках».

  • Полная поддержка нескольких различных наборов символов, включая latin1 (cp1252), german, big5, ujis, несколько наборов символов Unicode и многое другое. Например, скандинавские символы “å”, “ä” и “ö” разрешены в именах таблиц и столбцов.

  • Все данные сохраняются в выбранном наборе символов.

  • Сортировка и сравнение выполняются в соответствии с набором символов и сортировкой по умолчанию. Это можно изменить при запуске сервера MySQL (см. раздел 12.3.2, «Набор символов и сортировка сервера»). Чтобы увидеть пример очень сложной сортировки, посмотрите на чешский код сортировки. MySQL Server поддерживает множество различных наборов символов, которые могут быть указаны во время компиляции и выполнения.

  • Часовой пояс сервера может быть изменён динамически, а отдельные клиенты могут указать свой собственный часовой пояс. См. раздел 7.1.15, «Поддержка часовых поясов сервера MySQL».

Клиенты и инструменты

  • MySQL включает в себя несколько программ-клиентов и утилит. Это и командные программы, такие как mysqldump и mysqladmin, и графические программы, такие как MySQL Workbench.

  • MySQL Server имеет встроенную поддержку SQL-команд для проверки, оптимизации и восстановления таблиц. Эти команды доступны из командной строки через клиента mysqlcheck. MySQL также включает myisamchk, очень быструю командную утилиту для выполнения этих операций над MyISAM таблицами. См. главу 6, Программы MySQL.

  • Программы MySQL могут быть вызваны с опцией --help или -? для получения онлайн-помощи.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/features.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API