gpt4 book ai didi

mysql int 与 bool 索引

转载 作者:行者123 更新时间:2023-11-30 23:26:54 27 4
gpt4 key购买 nike

我有一个任务:

数据库中的记录可以处于状态:

NEW = 1
CONFIRMED = 2
FINISHED = 3
DELETED = 4

1.

我可以将它们存储在带有索引的 int 字段中,然后像这样选择:

... WHERE status = FINISHED ...
... WHERE status = DELETED ...

2.

我也可以将它们存储为 4 个独立的 bool 字段

然后选择:

... WHERE finished_field = True ...
... WHERE deleted_field = True ...

哪种情况(对于 select)1 或 2 的性能更好,在情况 2 中是否必须为字段创建索引?

最佳答案

就性能而言,我不确定它们会带来什么不同,但就可维护性而言,您最好拥有一个可以采用不同值的状态字段,而不是为每个状态设置一列。如果明天您需要一个新的状态,使用第二个选项您将不得不更改表架构,而使用第一个选项您只需要使用一个新的状态标识符(例如“RESTORED = 5”)。

关于mysql int 与 bool 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12824639/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com