ืžืึทืจื™ืึทื“ื™ ื‘ื™ 12.0 ืื™ื– ืื™ืฆื˜ ืคึฟืึทืจืึทืŸ

ืžืึทืจื™ืึทDB 12.0.2 ืื™ื– ืืจื•ื™ืกื’ืขื’ืขื‘ืŸ ื’ืขื•ื•ืึธืจืŸ, ื•ื•ืึธืก ืื™ื– ื“ื™ ืขืจืฉื˜ืข ืกื˜ืึทื‘ื™ืœืข ืื•ื™ืกื’ืึทื‘ืข ืคึฟื•ืŸ ื“ืขืจ 12.0 ืฆื•ื•ื™ื™ึทื’. ื“ื™ ืžืึทืจื™ืึทDB 12.0 ืฆื•ื•ื™ื™ึทื’ ื•ื•ืขืจื˜ ืงืœืึทืกื™ืคึฟื™ืฆื™ืจื˜ ื•ื•ื™ ืึท ืจืึธื•ืœื™ื ื’ ืื•ื™ืกื’ืึทื‘ืข, ืคืึธืจื–ืขืฆื˜ ื“ื™ ื’ืจืึทื“ื•ืขืœืข ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึฟื•ืŸ ืคึฟื•ื ืงืฆื™ืึธื ืึทืœื™ื˜ืขื˜, ืื•ืŸ ืคึฟืึทืจื‘ื™ื™ื˜ ื“ื™ ืžืึทืจื™ืึทDB 11.8 ืฆื•ื•ื™ื™ึทื’. ืžืึทืจื™ืึทDB 12.1.1, ื•ื•ืึธืก ื”ืึธื˜ ื“ืขื ืกื˜ืึทื˜ื•ืก ืคึฟื•ืŸ ืึท ืื•ื™ืกื’ืึทื‘ืข ืงืึทื ื“ื™ื“ืึทื˜, ืื™ื– ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ืขืจ ืฆื™ื™ื˜ ืืจื•ื™ืกื’ืขื’ืขื‘ืŸ ื’ืขื•ื•ืึธืจืŸ. ื“ื™ ืžืึทืจื™ืึทDB 12.0 ืฆื•ื•ื™ื™ึทื’ ื•ื•ืขื˜ ื•ื•ืขืจืŸ ื’ืขืฉื˜ื™ืฆื˜ ื‘ื™ื– ื“ื™ 12.1.2 ืื•ื™ืกื’ืึทื‘ืข ื•ื•ืขื˜ ื•ื•ืขืจืŸ ื’ืขืฉืึทืคึฟืŸ.

ื“ื™ MariaDB ืคึผืจื•ื™ืขืงื˜ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ื’ืึธืคึผืœ ืคื•ืŸ MySQL ื•ื•ืึธืก ืžื™ื™ื ื˜ื™ื™ื ื– ืฆื•ืจื™ืง ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืื•ืŸ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื“ื™ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืึธืš ืกื˜ืึธืจื™ื“ื–ืฉ ืขื ื“ื–ืฉืึทื ื– ืื•ืŸ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–. MariaDB ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื™ื– ืึธื•ื•ื•ืขืจืกืึทืŸ ื“ื•ืจืš ื“ื™ ืคืจื™ื™ึท MariaDB ื•ื•ื™ืงื™ืคึผืขื“ื™ืข, ื ืึธืš ืึทืŸ ืึธืคึฟืŸ ืื•ืŸ ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืจืึธืฆืขืก ื•ื•ืึธืก ืื™ื– ืคืจื™ื™ึท ืคื•ืŸ ื™ื—ื™ื“ ื•ื•ืขื ื“ืึธืจืก. MariaDB ืื™ื– ืกืึทืคึผืœื™ื™ื“ ื•ื•ื™ ืึท ืคืึทืจื‘ื™ื™ึทื˜ ืคึฟืึทืจ MySQL ืื™ืŸ ืคื™ืœืข ืœื™ื ื•ืงืก ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื– (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ืื•ืŸ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ ืึทื–ืึท ื’ืจื•ื™ืก ืคึผืจืึทื“ื–ืฉืขืงืก ื•ื•ื™ Wikipedia, Google Cloud SQL ืื•ืŸ Nimbuzz.

ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ MariaDB 12.0 ืฆื•ื•ื™ื™ื’ ืึทืจื™ื™ึทื ื ืขืžืขืŸ:

  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืข ืคึฟืึทืจ ืคึผืึทืจืึธืœ-ื’ืขืฉื™ืฆื˜ืข SSL ืฉืœื™ืกืœืขืŸ. ืคึผืึทืจืึธืœ ืฆื• ืขืคึฟืขื ืขืŸ ืกืกืœ ืกืขืจื˜ื™ืคื™ืงืึทืฅ ืงืขืŸ ืื™ื™ื ื’ืขืฉื˜ืขืœื˜ ื•ื•ืขืจืŸ ื“ื•ืจืš ื“ื™ ssl_passphrase ื•ื•ืขืจื™ืึทื‘ืœ ืื“ืขืจ ืžืึทื ื•ืขืœ ื•ื•ืขืŸ ืžืขืŸ ืกื˜ืึทืจื˜ ื“ืขื ืกืขืจื•ื•ืขืจ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื“ืขื ืื•ื™ืกื“ืจื•ืง "SET SESSION AUTHORIZATION" ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ืืŸ ืืงืฆื™ืข ืื•ื ื˜ืขืจ ืืŸ ืื ื“ืขืจืŸ ื‘ืื ื™ืฆืขืจ ื•ื•ืขืŸ ืžืขืŸ ืฉื˜ืขืœื˜ ื“ื™ ืฆื•ื’ืขืคืืกื˜ืข ืคืจื™ื•ื•ื™ืœืขื’ื™ืขืก (ื“ืขืจ ืื•ื™ืกื“ืจื•ืง ืงืขืŸ ื‘ืื˜ืจืื›ื˜ ื•ื•ืขืจืŸ ืืœืก ืืŸ ืื ืืœืื’ ืคื•ืŸ "sudo" ืคืืจืŸ DBMS).
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืข ืคึฟืึทืจ SHA-2 ื”ืขืฉื™ื– ืฆื• ื“ื™ file_key_management.so ืคึผืœื•ื’ื™ืŸ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืข ืคืืจ ืฉื•ื•ืื›ืข ืงื•ืจืกืึธืจ ื•ื•ืขืจื™ืึทื‘ืœืขืŸ ืคื•ืŸ ื“ืขื ืคืึธืจ-ื“ืขืคื™ื ื™ืจื˜ืŸ SYS_REFCURSOR ื˜ื™ืคึผ, ื•ื•ืึธืก ืขืจืœื•ื™ื‘ื˜ ืึท ืงื•ืจืกืึธืจ ืฆื• ื•ื•ืขืจืŸ ืฆื•ืจื™ืงื’ืขื’ืขื‘ืŸ ืคื•ืŸ ืกื˜ืึธืจื“ ืคึผืจืึธื•ืกื™ื“ื–ืฉืขืจื– (ืื™ืŸ ื“ืขื OUT ืคึผืึทืจืึทืžืขื˜ืขืจ) ืึธื“ืขืจ ืคื•ืŸ ืคื•ื ืงืฆื™ืขืก (ืื™ืŸ ื“ืขืจ RETURN ืกื˜ืขื™ื˜ืžืขื ื˜). ื“ื™ ืกื™ืกื˜ืขื ื•ื•ืขืจื™ืึทื‘ืœืข "max_open_cursors" ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ื’ืขื•ื•ืึธืจืŸ ืฆื• ื‘ืึทื’ืจืขื ืขืฆืŸ ื“ื™ ืžืึทืงืกื™ืžื•ื ืฆืึธืœ ืคื•ืŸ ื’ืœื™ื™ื›ืฆื™ื™ื˜ื™ื’ ืึธืคึฟืขื ืข ืงื•ืจืกืึธืจืŸ.
  • ื“ืขืจ TO_CHAR ื˜ื™ืค ืฉื˜ื™ืฆื˜ ืื™ืฆื˜ ื“ืขื FM (ืคื™ืœ ืžืึธื“ืข) ืคึฟืึธืจืžืึทื˜ ืฆื• ืคึฟืึทืจืžื™ื™ึทื“ืŸ ื ืึธืš ืึธื ืคึฟื™ืœืŸ. ืœืžืฉืœ, ื“ื™ ืคึฟืจืึทื’ืข "SELECT CONCAT('/', TO_CHAR('2020-01-06 10:11:12', 'FMDAY'), '/');" ื•ื•ืขื˜ ืฆื•ืจื™ืงื’ืขื‘ืŸ "/ืžืึธื ื˜ื™ืง/" ืึทื ืฉื˜ืึธื˜ "/ืžืึธื ื˜ื™ืง /".
  • ื“ื™ mariadb-check ื ื•ืฆืœืขื›ืงื™ื™ื˜ ืื•ืŸ ื“ื™ CHECK TABLE ืื•ื™ืกื“ืจื•ืง ื–ืขื ืขืŸ ื’ืขื•ื•ืืจืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืฆื• ืฉื˜ื™ืฆืŸ ื˜ื™ืฉืŸ ืคื•ืŸ ื“ื™ SEQUENCE ืžืึธื˜ืึธืจ.
  • ื“ืขืจ ืึธืคึผื˜ื™ืžื™ื–ื™ืจืขืจ ืฉื˜ื™ืฆื˜ ืื™ืฆื˜ ืึธืคึผืฆื™ืขืก (ื”ื™ื ืฅ) ื•ื•ืึธืก ื”ืึธื‘ืŸ ืึทืŸ ื”ืฉืคึผืขื” ืื•ื™ืฃ ื“ืขืจ ืงืึทื ืกื˜ืจื•ืงืฆื™ืข ืคึฟื•ืŸ ื“ืขื ืึธืคึผื˜ื™ืžื™ื–ืึทืฆื™ืข ืคึผืœืึทืŸ: 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. ื“ื™ ืึธืคึผืฆื™ืขืก ื•ื•ืขืจืŸ ืึทืจืฒึทื ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื“ืขืจ ืงื•ื•ืขืจื™ ืื™ืŸ ืึท ืคึฟืึธืจืžืึทื˜ ืงืึธืžืคึผืึทื˜ื™ื‘ืœ ืžื™ื˜ MySQL, ืœืžืฉืœ: SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE โ€ฆ; SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE โ€ฆ;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืข ืคึฟืึทืจ ื ืฒึทืข GIS (ื’ืขืึธื’ืจืึทืคึฟื™ืฉืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืกื™ืกื˜ืขื) ืคื•ื ืงืฆื™ืขืก: ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืข ืคืืจ ื˜ืจื™ื’ืขืจืก ื•ื•ืืก ืื ืฆื™ื ื“ืŸ ื–ื™ืš ืื•ื™ืฃ ืงื™ื™ืคืœ ื’ืขืฉืขืขื ื™ืฉืŸ. ื“ื™ CREATE TRIGGER ืกื˜ืขื™ื˜ืžืขื ื˜ ืงืขืŸ ืื™ืฆื˜ ืœื™ืกื˜ืŸ ื“ื™ ื’ืขืฉืขืขื ื™ืฉืŸ ื•ื•ืืก ืฉื˜ื™ืžืขืŸ ื“ืขืจืฆื• ื ื™ืฆื ื“ื™ื’ ื“ื™ ืกื™ื ื˜ืืงืก "{ event [ OR โ€ฆ ] }".
  • ื“ืขืจ ืื•ื™ื“ื™ื˜ ืคึผืœื•ื’ื™ืŸ ืจืึทื˜ืขื•ื•ืขื˜ ืื™ืฆื˜ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื ืขืฅ ืคึผืึธืจื˜ืŸ ืคึฟืึทืจ ืื™ื ืงืึทืžื™ื ื’ ืงืึทื ืขืงืฉืึทื ื– ืื™ืŸ ื“ืขื ืื•ื™ื“ื™ื˜ ืœืึธื’ (ืคืจื™ืขืจ ืื™ื– ื ืึธืจ ื“ืขืจ ื”ืึธืกื˜ ื’ืขื•ื•ื™ื–ืŸ ื’ืขื•ื•ืึธืจืŸ).
  • ื“ื™ mariadb ื ื•ืฆื‘ืึทืจืงื™ื™ื˜ ื”ืื˜ ืึท "--script-dir" ืึธืคึผืฆื™ืข ืฆื• ืกืคึผืขืฆื™ืคึฟื™ืฆื™ืจืŸ ืึทืŸ ืึทืœื˜ืขืจื ืึทื˜ื™ื•ื•ืข ื–ื•ื›ืŸ ื“ื™ืจืขืงื˜ืึธืจื™ ืคึฟืึทืจ ืกืงืจื™ืคึผื˜ืŸ ื•ื•ืึธืก ื•ื•ืขืจืŸ ื’ืขืœืึธืคึฟืŸ ื“ื•ืจืš ื“ื™ SOURCE ื‘ืึทืคึฟืขืœ.
  • ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืคืจื™ืขืจ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“ ื•ื•ืขืจื™ืึทื‘ืึทืœื– big_tables, large_page_size, ืื•ืŸ storage_engine.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’