将ENUM中定义的值在MariaDB中排序是否有任何性能优势?

希杜·卢卡(Schidu Luca)

我认为标题是不言自明的。假设我们有这个表:

CREATE TABLE tickets (
    id INT PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(255) NOT NULL,
    priority ENUM('c', 'a', 'b') NOT NULL
);

如果将优先级ENUM中的值排序,它将获得任何性能吗?像这样:

priority ENUM('a', 'b', 'c') NOT NULL
耀斑

枚举按其索引号而不是其值排序

ENUM值根据其索引号排序,该索引号取决于列规范中列出的枚举成员的顺序。例如,对于ENUM('b','a'),'b'在'a'之前排序。空字符串排在非空字符串之前,而NULL值排在所有其他枚举值之前。

因此实际元素值对性能没有影响,因为MySQL在处理枚举(包括对它们进行排序)时只处理数字

您指定为输入值的字符串会自动编码为数字。有关ENUM类型的存储要求,请参见第11.7节“数据类型存储要求”。

尽管没有性能优势,但是以适当的排序顺序指定元素(不一定必须按字母顺序排列)具有的优势order by enum_column可能不会给您带来意想不到的结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果我们在 Select 查询的 where 子句中排除空行,是否有任何性能优势

保持 BufferedReader 流打开是否有任何性能优势?

为 Elasticsearch 创建索引映射是否有任何性能优势

将卷安装为只读是否有性能优势?

将静态数据存储在图像而不是数组中是否有任何优势?

将str.length()值存储在变量中,然后在for循环中使用它是否对Java有任何性能改进?

通过将hashCode和equals抽象化来实施它们是否有任何优势?

在Angular> = 7中,使用@Inject声明类@Injectable是否有任何优势?

在WiredTiger中对MongoDb文档执行部分更新是否比完整文档更新有任何优势?

在Swift中添加分号是否有任何技术优势?

除了组织之外,在对象中组织方法和功能是否有任何优势?

检查数组中是否有任何值

Java Singleton与静态-是否有真正的性能优势?

较短的代码是否具有明显的性能优势?

用更少的代码行做事是否有性能优势?

是否有任何纯HTML方式将“标记”标签“组合”到自定义标签中?

Java阻塞IO-写操作是否有任何优势?

在 Python 中尽可能将方法定义为静态方法是否有优势?

是否有任何功能可以将值设置为Java中的完整列表

在现代C ++中,介入式容器是否仍比非介入式容器具有性能优势?

如果我每次都必须等待而不是使用 Sync .ToList(),那么使用 .ToListAsync 的各个多数据库查询是否有任何性能优势?

与R中的pnorm()相比,atan()是否提供任何计算优势?

在O(n)中排序,没有任何临时变量

将所有内容置于主要状态是否有任何性能劣势?

有没有java的8个连续数据流的任何直接或间接的性能优势?

UnRAID性能与裸机性能-是否有任何测试?

是否有任何理由在 SASS 中定义 CSS 类?

是否有任何变通办法可以从readCsv()方法而不是未定义的方法中返回res的值?

在GraphQL中是否可以发送具有多个值的Enum