我有一个名为A,B ... X,Y,Z的值数组.尽管表中有26列我会忍不住觉得有更好的方法.我考虑过创建第二个表,其中第一个表的id为id,数组中项的id,然后是布尔值,但它看起来很笨拙而且令人困惑.
有没有更好的办法?
简短的回答,没有.答案很长,这取决于.
您可以通过多种方式存储二进制数据 - 滥用数字,使用BINARY OR VARBINARY,使用BLOB或TINYBLOB等.如果您的数据是已知大小,则BINARY类型通常比BLOB类型更快.
但是,关系数据库不是为使用二进制数据做任何智能操作而设计的.在我曾经工作的项目中,有一个表,其中每个记录具有特定的二进制模式 - 存储为某种整数 - 并且搜索需要大量的AND,OR,XOR和NOT.它从来没有真正发挥得很好,性能很糟糕,并且它使整个项目失效.回顾过去,我会采取完全不同的方法.
因此,如果您只是想放弃数据并再次将其拉出来,那就太好了.如果你想用它来做任何聪明,艰难的事情.
其他数据库供应商的情况可能不同.事实上,您是否考虑过用其他东西代替数据库?某种对象持久性?