【发布时间】:2014-08-22 15:18:29
【问题描述】:
我有一个包含 varbinary 列的表 我想选择该数据的第一个字节为 0x0b 的所有行
有没有办法根据第一个字节的比较来选择查询?
也许使用“喜欢”?
谢谢
【问题讨论】:
-
这是一种低效设计数据库的好方法。恭喜,您是数以百万计必须处理绝对可怕的建模和存储数据方式的人中的一员。由于我所写的内容并没有真正的帮助,我只希望您在处理这种可怕的任务时不会遇到太多问题。祝你好运!
我有一个包含 varbinary 列的表 我想选择该数据的第一个字节为 0x0b 的所有行
有没有办法根据第一个字节的比较来选择查询?
也许使用“喜欢”?
谢谢
【问题讨论】:
不在 MySQL 中(我假设您根据标签使用它)。
如果您有能力创建表,我建议您创建一个分片表,将您需要查询的位分隔成单独的tinyint 列。您需要在 DBMS 之外处理分片,因为触发器无法提供帮助,但是拥有分片表肯定会使这些类型的查询更快。
如果不是,那么您将不得不查询大于和小于,然后循环执行按位运算。
这两种解决方案都假定可以访问请求系统。如果你是严格意义上的 DBA,那就不行。
【讨论】:
awk | grep | sed 并反馈到另一个更新查询。
UPDATE,然后再次转储并重新导入 MySQL。