分类存档: 开发文档
“其他功能”预览版包含了所有未包含在单独专用预览二进制文件中的其他功能。
MariaDB Server 10.7 包含 JSON_EQUALS 函数,该函数将输入作为 JSON 对象进行比较,不受空格、键顺序或数字格式的影响。
(更多…) …
默认情况下,MariaDB 不检查用户是否重复使用密码。某些安全策略要求用户每次都选择新密码,MariaDB 10.7.0 预览版中提供的 Password Reuse Check plugin 插件可实现此功能。
旧密码存储在 mysql.password_reuse_check_history 表中,它们的保留期限由 password-reuse-check-interval 系统变量决定,该变量指定了天数。默认情况下为零,表示无限期保留。
此插件可与其他密码验证插件结合使用,例如 Simple Password Check plugin 或 CrackLib Password Check plugin。
…
如果您使用表分区,您可能听说过 ALTER TABLE … EXCHANGE PARTITION … WITH TABLE … 命令。它在 MariaDB 中一直存在。但是,如果您查看手册(任何手册)或搜索网页,您会发现它几乎唯一的用例是将分区转换为独立的非分区表,或将独立的非分区表转换为分区。
而且当时的用法设计得一点都不直观。要将分区转换为表,您首先需要创建一个结构与分区相同的空表,然后将其与分区交换,最后再删除该空分区。
…
有时需要将不同列的数据组合成一个字符串。例如,
SELECT CONCAT(first_name, ‘ ‘, last_name) FROM employees;
这看起来还不错,但如果需要进行更复杂的操作,它很快就会失控。例如,假设我们还需要在此处提及薪水
SELECT CONCAT(first_name, ‘ ‘, last_name, ‘ -‘, CAST(FORMAT(salary, 0) AS VARCHAR(10)), ‘ ‘, currency) FROM employees;
此预览展示了 MariaDB 10.7 的一项新功能,该功能由 Alan Cueva 在导师 Vicențiu Ciorbaru 的指导下,作为 Google Summer of Code (MDEV-25015) 的一部分开发。
…
自 10.0 版本以来,MariaDB 一直支持作为 独立引擎表统计信息(Engine Independent Table Statistics)一部分的直方图。作为 Google Summer of Code (MDEV-21130) 的一部分,Michael Okoko 在导师 Sergey Petrunia 的指导下,实现了一种新的直方图格式(使用 JSON),这显著提高了直方图的准确性和灵活性。对于那些只对功能细节感兴趣的人,可以跳到“新格式”部分,但是如果对直方图的用途不熟悉,请继续阅读。
为什么需要统计信息
对于 WHERE 子句使用未索引列的查询,直方图非常重要。
…
MariaDB 长期以来一直使用可插拔存储引擎架构,这在针对特定用例选择和管理合适的存储引擎方面提供了很大的灵活性,同时也意味着它们更容易开发,因此预计会有更多引擎被创建。
更多的存储引擎意味着 MariaDB Server 本身需要尽可能灵活,以适应存储引擎可能需要的所有类型的功能。MariaDB Server 在提供存储引擎所需的所有压缩库方面并不是那么友好。
…
自然排序(Natural sort order)是指按照字母顺序对字符串进行排序,同时将数字视为数字处理。这种排序理解方式更接近人类思维,而不是机器。您可以在 Windows 文件管理器中找到此功能的示例。在其中,文件按照自然顺序排序。尝试创建四个文件夹“b1”、“a11”、“a2”、“a1”。
有几种编程语言具有自然排序功能。在 PHP 中是内置函数 natsort,在 Python 中是第三方模块 natsort,在 Perl 中是 Sort::Naturally,在 Matlab 中是 sort_nat。
…
通用唯一标识符 (UUID) 在计算领域已经很常见。一个具有文本表示值的 128 位值,并规定了多种版本类型以确保唯一性,这使其成为一种理想的数据类型。
经过多年,UUID 数据类型一直只作为 MDEV-4958 中的功能请求存在,缓慢地积累投票和关注者,我们很高兴宣布 UUID 数据类型的预览版。与 INET6 数据类型一样,它使用 MariaDB 10.5 中的数据类型插件 API。
UUID 数据类型是什么样的?
…