我是出于好奇而问这个的。基本上我的问题是,当你有一个数据库需要一个行条目来拥有像标志一样的东西时,最佳实践是什么?一个很好的例子是堆栈溢出的标记,或者 bugzilla 中的操作系统字段。可以为给定条目设置标志的任何子集。
通常,我做 c 和 c++ 工作,所以我的直觉反应是使用无符号整数字段作为一组可以翻转的位......但我知道这不是一个好的解决方案,原因有几个。其中最明显的是可扩展性,我可以拥有多少个标志会有一个硬性上限。
我还可以想到一些其他解决方案,它们可以更好地扩展,但会出现性能问题,因为它们需要多次选择才能获取所有信息。
那么,这样做的“正确”方法是什么?