ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π‘Π£ΠΠ MariaDB 12.2.2, ΠΊΠΎΡΡΠΎ Π΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π° ΠΊΠ°ΡΠΎ ΠΏΡΡΠ²ΠΈΡ ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΡΠ΅Π»ΠΈΠ· ΠΎΡ ΠΊΠ»ΠΎΠ½ 12.2. ΠΠ»ΠΎΠ½ΡΡ MariaDB 12.2 Π΅ ΠΊΠ»Π°ΡΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ (rolling) ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, Π·Π°ΠΌΠ΅Π½ΡΠΉΠΊΠΈ ΠΊΠ»ΠΎΠ½ MariaDB 12.1. Π‘ΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡ MariaDB 12.3.1 Ρ Π½ΠΎΠ²Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° binlog, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° ΡΡΠ°ΡΡΡ Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π·Π° Π±ΡΠ΄Π΅ΡΠ° LTS Π²Π΅ΡΡΠΈΡ. ΠΠ»ΠΎΠ½ΡΡ MariaDB 12.2 ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ Π΄ΠΎ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΡΠΈΡ 12.3.2.
ΠΡΠΎΠ΅ΠΊΡΡΡ 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.2:
- Π ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ Π‘Π£ΠΠ Oracle ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ TO_NUMBER (ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΠ· Π² ΡΠΈΡΠ»ΠΎ) ΠΈ TRUNC (ΠΎΡΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π΄Π°ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎ ΡΠ°Ρ, Π΄Π΅Π½, ΠΌΠ΅ΡΠ΅Ρ, Π³ΠΎΠ΄ΠΈΠ½Π°).
- ΠΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ (JOIN) Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΎΡΡΠΈΡΠ° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Π² ΠΏΠΎΠ΄Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Ρ ΠΈΠ·ΡΠ°Π· βGROUP BYβ Π·Π° ΠΏΠΎ-ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅ (out_rows) ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° ROWID_FILTER/NO_ROWID_FILTER ΠΈ INDEX_MERGE/NO_INDEX_MERGE, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π½Π΅ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π² Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ (ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°ΡΡΠΈ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΏΠΎΠ·ΠΎΠ²Π°Π²Π°ΡΠ΅ Π½Π° ΡΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π° βselect#Nβ, ΠΊΡΠ΄Π΅ΡΠΎ N Π΅ ΠΏΠΎΡΠ΅Π΄Π΅Π½ Π½ΠΎΠΌΠ΅Ρ Π½Π° Π±Π»ΠΎΠΊΠ°). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: βselect /*+ JOIN_ORDER(@"select#2" twenty,ten) */ β¦.β.
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π½Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΎΡΡ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ JSON (ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π΅ Π»ΠΈΠΌΠΈΡΡΡ JSON_DEPTH_LIMIT, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ°ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡ 32).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΠ°Π±Π»ΠΈΡΠ° TRIGGERED_UPDATE_COLUMNS Π² ΡΡ Π΅ΠΌΠ°ΡΠ° INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), ΠΏΠΎΠΊΠ°Π·Π²Π°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΏΡΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΈΠ³Π΅ΡΠ°.
- Π ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° PARAMETERS Π² ΡΡ Π΅ΠΌΠ°ΡΠ° INFORMATION_SCHEMA Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° PARAMETER_DEFAULT, ΡΡΠ΄ΡΡΠΆΠ°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ·ΡΠ°Π·Π° Β«CREATE GLOBAL TEMPORARY TABLEΒ» Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ ΡΠ΅ ΠΈΠ·ΡΡΠΈΠ²Π°Ρ ΡΠ»Π΅Π΄ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠΈΡΡΠ° ΠΈ ΡΠ° Π²ΠΈΠ΄ΠΈΠΌΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π΄Π°Π½Π½ΠΈ, ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π».
- Π ΡΠ΅ΡΡΠΎΠ²ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΡΡΡΡΠΊΡΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
