问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样将bitmap添加到mysql数据库中

发布网友 发布时间:2022-04-11 13:57

我来回答

2个回答

热心网友 时间:2022-04-11 15:26

MySQL 原生并不支持 bitmap 类型,所以就只能存字符串,然后就根据你的 bitmap 长度以及转换方式来选择是用什么类型来存储,处理的过程在代码层面完成。

我简单说下我们做同样的事情的做法,不一定是好方法,可以一起探讨。

首先,我们操作数据库的语言是 PHP。使用的是 ASCII 表里的 0 ~ 127位的字符,所以每一个字符可以存 8bits,然后用一个 char(125) 来存 bitmap 的一个片段,每个片段可以存 1000bits。

通过 PHP 计算某一位在那一个片段的第几位,例如 2345,就在第三个片段的第345位(从1开始的话),然后通过 PHP 进行更新。当然,也可以直接用 SQL 更新,SQL 语句写起来比较麻烦,我写了半天才写出来:

unhex( conv( bin( conv( hex( STR1 ), 16, 10 ) | conv( hex( STR2 ), 16, 10 ) ), 2, 16 ) )

不过我们用 MySQL 存储也就是为了确保数据的安全性,大部分的查询操作都在 redis 里面完成,redis 原生支持 bitmap 用起来又高效又方便。

热心网友 时间:2022-04-11 16:44

就当做char型存入mysql就可以了啊。有什么问题吗
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
WIN7不会自动安装AHCI驱动是怎么回事?每次重装系统后都得我自己安装_百... 钉钉录播课能否查看观看时长 为什么城市轨道要有身高条件 城轨交通运营管理专业现身高吗 城市轨道交通运营管理这个专业是否有身高要求 读城轨专业需要什么条件 学习城轨专业需要什么条件? 城市轨道专业最低的身高要求多少?身高158毕业出来好找工作吗? 城轨专业要求身材吗 城轨专业有身高限制吗 怎么统计redis的hash中的某个字段个数,在线等 redis的setbit这个bit怎么理解,配合bitcount使用 redis安装环境,Linux是redis的最好安装环境,很多人都建议把它按哪里, 微信的摇一摇功能里面可以利用打招呼这个功能进行多次聊天吗? 用微信摇一摇功能摇出来的好友可以看到我的微信中个人信息吗? 用微信摇一摇的时候 摇一下以后 就一直是 正在搜索同一时刻摇晃手机的人 一直没反映是怎么回事 php可以实现微信摇一摇的功能吗 怎么样才能实现微信自动摇一摇 redis过期时间设置 redis 从服务器无法启动 怎样改回主服务 C:\>Redis\redis>redis-server.exe redis.windows.conf 拒绝访问. redis创建报错怎么办? linux将redis的redis.conf中的daemonize配置为yes但还是前台启动 为什么redis开启服务也会报错啊 redis能进入客户端,但是IP号前面少了redis,并且运行命令也没反应,怎么解决? 命令行启动redis队列,报这个错,求助 redisdesktopmanager 使用什么协议连接redis windows防火墙 3. 名词解释 (1)通信协议 (2)接口 (3)计算机网络体系结构 (4)IP地址 求教电表(电度表)通信协议(protocol),我们想开发通信模块,谢谢!顺便告诉电表的品牌。 计算机网络中的规程(procedure)和协议(protocol)有什么区别和关系? redis什么时候可以搭 redis是否收费 redis做聊天系统可靠吗 java聊天室用redis数据库怎么做 哪里有基于redis的订阅发布实现的网页聊天室或网页推送系统 django-redis 支持哪些命令 django from django_redis import get_redis_connection后如何为该redis添加分布式锁呢? django redis 多少用户访问 php 加单引号后 就报MYSQL错误! 求解! mysql 插入 单引号'mysql 插入单引号'会出错,如Jim's mysql单引号和双引号的区别 mysql 的单引号和双引号有什么区别吗 求教mysql中单引号和双引号的区别! mysql为什么大双引号标红? mysql,怎么根据一个时间段,然后查询出这个时间段的全部时间?? 图形界面的linux怎么安装redis redis桌面管理工具 怎么启动 至于为什么不使用redis的muti,expire,watch等机制 redis 基础内核参数优化有哪些 django mysql 中文乱码怎么办