ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° новая LTS-Π²Π΅Ρ‚ΠΊΠ° Π‘Π£Π‘Π” MariaDB 12.3

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ выпуск Π‘Π£Π‘Π” MariaDB 12.3.2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ 12.3. Π’Π΅Ρ‚ΠΊΠ° MariaDB 12.3 отнСсСна ΠΊ выпускам с Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сроком ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π΄ΠΎ июня 2029 Π³ΠΎΠ΄Π°. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ доступСн выпуск MariaDB 13.0.1, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ статус ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π² Ρ€Π΅Π»ΠΈΠ·Ρ‹.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ MariaDB развиваСтся ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ MySQL, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰Π΅Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ² хранСния ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… возмоТностСй. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ MariaDB ΠΊΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ нСзависимая организация MariaDB Foundation Π² соотвСтствии с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ процСссом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π΅ зависящим ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. MariaDB поставляСтся вмСсто MySQL Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ΠΈ Π²Π½Π΅Π΄Ρ€Ρ‘Π½ Π² Ρ‚Π°ΠΊΠΈΡ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΊΠ°ΠΊ Wikipedia, Google Cloud SQL ΠΈ Nimbuzz.

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅Ρ‚ΠΊΠ΅ MariaDB 12.3 ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ LTS-выпуском MariaDB 11.8:

  • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½Π° рСализация Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π° (binlog), основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для вСдСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ пСрСнСсСны Π² Π΄Π²ΠΈΠΆΠΎΠΊ InnoDB. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ пСрСнос ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ синхронизации, ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с записью Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ тСстировании Π½ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° высоконагруТСнных систСмах ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ большом числС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи Π΄ΠΎ 4 Ρ€Π°Π·. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° настройка Β«binlog_storage_engine=innodbΒ».
  • На 30-50% ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска с использованиСм Ρ‚ΠΈΠΏΠ° VECTOR, примСняСмого Π² систСмах машинного обучСния. УскорСниС достигаСтся благодаря ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ вычислСний ΠΏΡ€ΠΈ поискС сходства ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… пространствах ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ экстраполяции Π½Π° основС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… прСдставлСний (matryoshka embedding).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ возмоТности для упрощСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ с Π‘Π£Π‘Π” Oracle. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ совмСстимости с Π‘Π£Π‘Π” Oracle Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ TO_NUMBER (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² число), TO_DATE (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² Π΄Π°Ρ‚Ρƒ) ΠΈ TRUNC (усСчСниС Π΄Π°Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎ часа, дня, мСсяца, Π³ΠΎΠ΄Π°), Π° Ρ‚Π°ΠΊΠΆΠ΅ появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ассоциативных массивов (INDEX BY) ΠΈ синтаксиса Β«( + )Β» для опрСдСлСния Π²Π½Π΅ΡˆΠ½ΠΈΡ… слияний (outer join).
  • Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ совмСстимости с MySQL Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ»Π°Π³ΠΈΠ½ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ caching_sha2_password, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉ для Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ SHA2 вмСсто SHA1 ΠΈ совмСстимый с ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½Ρ‹ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΈΠ· MySQL 9.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ XMLTYPE для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования курсоров с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ запросами (prepared statement).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Β«SET PATHΒ» для задания порядка поиска ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² схСмы хранСния ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½ΠΈΠΌ Π±Π΅Π· указания ΠΈΠΌΠ΅Π½ΠΈ схСмы.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Β«IS JSONΒ» для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° выраТСния JSON, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π² стандартС SQL:2023.
  • Π’ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Β«PARTITION BY KEYΒ» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ MYSQL51, MYSQL55, BASE31, CRC32C, XXH32 ΠΈ XXH3.
  • Π’ Π΄Π²ΠΈΠΆΠΊΠ΅ хранСния Aria Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ сСгмСнтированный кэш ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сСгмСнтах кэша. Новый кэш ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния запросов Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. Число сСгмСнтов задаётся Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ aria_pagecache_segments, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΎΡ‚ 1 (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) Π΄ΠΎ 128.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования индСксов Π½Π° основС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (functional index) для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ GROUP/ORDER BY.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° выраТСния Β«CREATE GLOBAL TEMPORARY TABLEΒ» для создания Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сСанса ΠΈ Π²ΠΈΠ΄Π½Ρ‹ всСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, Π½ΠΎ содСрТат Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SSL-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ. ΠŸΠ°Ρ€ΠΎΠ»ΡŒ для разблокирования SSL-сСртификатов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ssl_passphrase ΠΈΠ»ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈ запускС сСрвСра.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Β«SET SESSION AUTHORIZATIONΒ» для выполнСния дСйствия ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΈ выставлСнии ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΎΠ³ Β«sudoΒ» для Π‘Π£Π‘Π”).
  • Π’ ΠΏΠ»Π°Π³ΠΈΠ½ file_key_management.so Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ…ΡΡˆΠ΅ΠΉ SHA-2.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° слабых курсорных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (weak cursor variable) ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° SYS_REFCURSOR, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ курсор ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ OUT) ΠΈΠ»ΠΈ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ RETURN). Для ограничСния максимального числа ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… курсоров Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° систСмная пСрСмСнная Β«max_open_cursorsΒ».
  • Π’ Ρ‚ΠΈΠΏ TO_CHAR Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° FM (Fill Mode) для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½ΠΎΠ³ΠΎ заполнСния. НапримСр, запрос
    Β«SELECT CONCAT(β€˜/’, TO_CHAR(β€˜2020-01-06 10:11:12’, β€˜FMDAY’), β€˜/’);Β» Π²Π΅Ρ€Π½Ρ‘Ρ‚ Β«/Monday/Β» вмСсто Β«/Monday /Β».
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ mariadb-check ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ CHECK TABLE Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ† ΠΎΡ‚ Π΄Π²ΠΈΠΆΠΊΠ° SEQUENCE.
  • Π’ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΉ (hint), Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° построСния ΠΏΠ»Π°Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ: QB_NAME, NO_RANGE_OPTIMIZATION, NO_ICP, MRR, NO_MRR, BKA, NO_BKA, BNL, NO_BNL, SEMIJOIN, SUBQUERY, JOIN_FIXED_ORDER, JOIN_ORDER, JOIN_PREFIX, JOIN_SUFFIX, MAX_EXECUTION_TIME, [NO_]JOIN_INDEX, [NO_]GROUP_INDEX, [NO_]ORDER_INDEX, [NO_]INDEX, [NO_]SPLIT_MATERIALIZED, NO_ROWID_FILTER, INDEX_MERGE/NO_INDEX_MERGE, [NO_]DERIVED_CONDITION_PUSHDOWN ΠΈ [NO_]MERGE. ΠžΠΏΡ†ΠΈΠΈ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² запрос Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, совмСстимом с MySQL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

    SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE …;
    SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE …;

  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ нСупорядочСнных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Β«LEFT JOINΒ» ΠΈ упорядочСнного сканирования ΠΏΡ€ΠΈ использовании выраТСния Β«PARTITION BY RANGEΒ».
  • Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… трассировки ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° обСспСчСн ΠΏΠΎΠΊΠ°Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ
    Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ прСдставлСний.
  • ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слияния Ρ‚Π°Π±Π»ΠΈΡ† (JOIN) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° оптимизация, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ строк Π² подзапросах с Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Β«GROUP BYΒ» для Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ прогнозирования числа Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… строк (out_rows) ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ примСнСния индСксов.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ MDL (Metadata Lock).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ GIS (Geographic Information System):
    ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ², ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… событий. Π’ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ CREATE TRIGGER Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ события, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ синтаксис Β«{ event [ OR … ] }Β».
  • Π’ ΠΏΠ»Π°Π³ΠΈΠ½ для вСдСния Π»ΠΎΠ³Π° Π°ΡƒΠ΄ΠΈΡ‚Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи Π² Π»ΠΎΠ³. Π Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° задаётся Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ server_audit_file_buffer_size.
    Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ сохранСниС Π² Π»ΠΎΠ³Π΅ Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ сСтСвых ΠΏΠΎΡ€Ρ‚Π°Ρ… для входящих соСдинСний (Ρ€Π°Π½Π΅Π΅ отраТался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ хост).
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ mariadb Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”script-dirΒ» для задания Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° поиска скриптов, запускаСмых ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ SOURCE.
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΈ асинхронной Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ двумя кластСрами Galera.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ mariadb-dump Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ указания масок (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«database_*Β»), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΡŽ Β«-LΒ» (β€”wildcards).
  • Π£Π±Ρ€Π°Π½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (foreign key) Π² контСкстС всСй Π‘Π” (достаточно ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹).
  • Бняты ограничСния Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности структур Π² функциях для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с JSON (ΡƒΠ±Ρ€Π°Π½ Π»ΠΈΠΌΠΈΡ‚ JSON_DEPTH_LIMIT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 32).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° TRIGGERED_UPDATE_COLUMNS Π² схСмС INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ столбцы, измСняСмыС ΠΏΡ€ΠΈ срабатывании Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°.
  • Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ PARAMETERS Π² схСмС INFORMATION_SCHEMA Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ столбСц PARAMETER_DEFAULT, содСрТащий значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.
  • Π£Π΄Π°Π»Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ big_tables, large_page_size ΠΈ storage_engine, Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster