gpt4 book ai didi

c# - 有固定数据或枚举的表?

转载 作者:行者123 更新时间:2023-11-30 17:37:12 25 4
gpt4 key购买 nike

我有一个具有常量值的表...在我的数据库(即 SQL)中有这个表还是在我的代码中有一个枚举并删除我的表更好?我的表只有 2 列和最多 20 行,这些行是固定的,并且在我第一次运行应用程序时填充一次。

最佳答案

我建议为您的案例创建一个枚举。由于值是固定的(并且我假设该表不会经常更改),您可以使用枚举。在数据库中创建一个表将需要对数据库进行不必要的访问,并且需要一个数据库连接,如果您使用枚举,则可以跳过这一点。

还有很多可能取决于您要对您的值进行多少操作。例如:查询您的枚举值以从您的表中获取不同的值是很乏味的。而如果您将使用表方法,那么它将是一个简单的 select distinct。因此,您可能需要研究您的需求以及您将对这些值执行的操作。

就性能而言,您可以查看:Enum Fields VS Varchar VS Int + Joined table: What is Faster?

As you can see, ENUM and VARCHAR results are almost the same, but join query performance is 30% lower. Also note the times themselves – traversing about same amount of rows full table scan performs about 25 times better than accessing rows via index (for the case when data fits in memory!)

So, if you have an application and you need to have some table field with a small set of possible values, I’d still suggest you to use ENUM, but now we can see that performance hit may not be as large as you expect. Though again a lot depends on your data and queries.

关于c# - 有固定数据或枚举的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38366748/

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