sql - 有效地(在性能方面)在 MySQL 中存储和使用设置值

标签 sql performance mysql

我需要在 MySQL 列中存储设置值。我完全喜欢内置 SET类型,但似乎 FIND_IN_SET() 函数需要表扫描,这很糟糕。

SET 似乎在幕后使用了二进制值。如果我使用二进制值来表示一个集合,例如一组四个元素,它可能是这样的:

0100 0101 0110 等等

我如何存储它(哪种类型),如何查询和利用索引?

附言我确实需要一个没有单独链接表的解决方案,类似于 SET。

提前致谢!

最佳答案

您可以使用 BIT 字段类型并使用 Bit functions对于查询,但是您需要在某个地方以二进制形式对您的设置值进行硬编码。其他缺点是您只能有 64 个可能的值。

关于sql - 有效地(在性能方面)在 MySQL 中存储和使用设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3555355/

相关文章:

php - 停止 session 劫持

当搜索字符串中存在任何干扰词时,SQL 全文搜索不会返回结果

php - 像基于文件的 session 那样在 PHP 中包含大量文件是否不好?

MySQL UPDATE 错误到第 2 行

php - 字符串分钟数中缺少零

sql - 将 ****** 值 '******' 转换为数据类型 ****** 时转换失败

C# - SQL 数据库 - 发送查询以更新记录但是太多的更新请求导致一些被遗漏

python - 如何加速python循环

html & css 效率性能问题

mysql - 使用 SAS 主键