Никто и не заметил, как вышел MySQL 8.0
Неожиданно для себя обнаружил, что mysql вдруг релизнулся буквально на днях (19 апреля), а статьи на хабре нет — все обсуждают сами-знаете-что.
Постараюсь перевести выжимку из «What’s new». Для тех, кто следит за разработкой, тут вероятно не будет ничего или почти ничего нового, для интересующихся время от времени — может показаться интересным. Сразу скажу, что в оригинальном посте более детальный
разбор всех пунктов — тут лишь краткая выжимка со ссылочками.
Оригинал
- SQL Window functions — оконные функции
- Common Table Expressions — Синтаксический сахар вида ```sql
WITH
cte1 AS (SELECT a, b FROM table1),
cte2 AS (SELECT c, d FROM table2)
SELECT b, d FROM cte1 JOIN cte2
WHERE cte1.a = cte2.c; - NOWAIT and SKIP LOCKED — Запретить запросу ждать блокировку на уровне таблицы и на уровне отдельных строк, соответственно.
- Descending Indexes — индексы «по убыванию»
- Grouping — функция grouping в GROUP BY конструкциях
- Regular Expressions — сделали наконец REGEXP_REPLACE
- Character Sets — позакрывали, что могли
- Cost Model — внутренности оптимизатора запросов
- Histograms — гистограммы для анализа плана выполнения запроса.
- JSON Extended syntax — новые функции, улучшенная сортировка и частичные обновления. С табличными функциями JSON можно использовать SQL выражения для данных в JSON.
- GIS Geography support — поддерживает теперь различные системы коордиат — Spatial Reference Systems (SRS), соответствующие типы данных, индексы и функции.
- Выражения DDL стали атомарными и защищенными от падений, метаданные в транзакционной таблице.
- Существенные улучшения в «наблюдаемости» системы — доработаны Performance Schema, Information Schema, Configuration Variables, и Error Logging.
- Улучшения в удаленном администрировании, работе с откатом изменений в tablespace-ах, новые элементы DDL
- Безопасность — перевели community edition на OpenSSL, добавили SQL-роли,
раздробили привелегию «SUPER» на более мелкие, - Поменяли авторизацию по-умолчанию и усилили требования к паролям.
- Улучшили производительность InnoDB на различных типах нагрузок.
- Добавили Resource Group — фича, позволяющая пользователю явно раскладывать нагрузку по ядрам.
- Починили работу булевых операций с varbinary (16) типом, что упростило работу с ipv6-адресами.