mysql如何存储bitmap_[MySQL] mysql中bitmap的简单运用
bitmap就是在一个二进制的数据中,每一个位代表一定的含义,这样最终只需要存一个整型数据,就可以解释出多个含义.
业务中有一个字段专门用来存储用户对某些功能的开启和关闭,如果是传统的思维,肯定是建一个字段来存0代表关闭,1代表开启,那么如果功能很多或者需要加功能开关,就需要不停的创建字段.
使用bitmap的思路就只需要一个字段就可以了,建一个entuserstatus字段,该字段的二进制表示中,从右到做数,从1开始数.比如第19位代表是否开始归档,那么就直接操作这一位的0和1就可以表示该用户是否开启归档功能.
email表的第19位,作为归档开启的位,1是开启 0是关闭;262144代表是第19位为1的十进制数
查询开启的
select email,enterpriseId from email where entuserstatus & 262144=262144;
开启归档
update email set entuserstatus = entuserstatus|262144 where id=670602 limit 1
关闭归档
update email set entuserstatus = entuserstatus^262144 where id=670602 limit 1
另一种形式
查询开启归档的
select id,email,enterpriseId,entuserstatus from email where entuserstatus>>18 & 1=1;
开启归档
update email set entuserstatus = entuserstatus|(1<<18) where id=670602 limit 1
关闭归档
update email set entuserstatus = entuserstatus^(1<<18) where id=670602 limit 1
异或(^)运算
异或运算通俗地讲就是一句话
同为假,异为真
所以它是这样的算法:
0&0=0,0&1=1,1&0=1,1&1=0
这就是微学网-程序员之家为你提供的"[MySQL] mysql中bitmap的简单运用"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/8488.html
mysql如何存储bitmap_[MySQL] mysql中bitmap的简单运用相关推荐
- mysql bitmap实现_[MySQL] mysql中bitmap的简单运用
MySQL 数据库 [MySQL] mysql中bitmap的简单运用 bitmap就是在一个二进制的数据中,每一个位代表一定的含义,这样最终只需要存一个整型数据,就可以解释出多个含义. 业务中有一个 ...
- MySQL 数据存储和优化------MySQL架构原理 ---- (架构---索引---事务---锁---集群---性能---分库分表---实战---运维)持续更新
Mysql架构体系全系列文章主目录(进不去说明还没写完)https://blog.csdn.net/grd_java/article/details/123033016 本文只是整个系列笔记的第一章: ...
- mysql double 存储_关于MYSQL中FLOAT和DOUBLE类型的存储-阿里云开发者社区
关于MYSQL中FLOAT和DOUBLE类型的存储 重庆八怪 2016-04-12 844浏览量 简介: 关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方 ...
- mysql的存储引擎种类,mysql 存储引擎,基本数据类型
存储引擎 日常生活中文件格式有很多种,并且针对不同的文件格式会有对应不同存储方式和处理机制(txt,pdf, word, mp4...) 针对不同的数据应该有对应的不同的处理机制来存储 存储引擎就是不 ...
- php mysql blob存储图片_php mysql blob存储图片
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- mysql 索引类型 bitmap_理解数据库中的常见索引类型
在数据库中,索引能加快数据库的查询速度.下面就来理解一些常见的索引类型: B-Tree Bitmap Clustered Non-unique unique 索引有很多种类型,可以为不同的场景提供更好 ...
- mysql改存储引擎教程_MySQL中修改数据表存储引擎的三种方法
第一种方法:ALTER TABLE 将表从一个引擎修改为另一个引擎最简单的办法是使用ALTER TABLE语句,转换表的存储引擎会导致失去原引擎相关的所有特性. 例:将mytable的引擎修改为Inn ...
- mysql bitmap index_[MySQL] mysql中bitmap的简单运用
bitmap就是在一个二进制的数据中,每一个位代表一定的含义,这样最终只需要存一个整型数据,就可以解释出多个含义. 业务中有一个字段专门用来存储用户对某些功能的开启和关闭,如果是传统的思维,肯定是建一 ...
- linux下修改mysql数据存储_linux 更改mysql 数据存储目录
1.检查mysql数据库存放目录 mysql -u root -prootadmin #进入数据库 show variables like '%dir%'; #查看sql存储路径 (查看datadir ...
最新文章
- LeetCode简单题之最小操作次数使数组元素相等
- swing java管理系统_Java swing实现酒店管理系统
- 802.11ac/ax (wifi6)中的Beamforming技术介绍
- html 首行缩进2个汉字
- 利用C#线程窗口调试多线程程序
- 一些ASP.NET不能调试问题的解决办法!
- php $handle,laravel $kernel-handle 报错的解决办法_PHP开发框架教程
- 论文解读丨空洞卷积框架搜索
- .NET库和向后兼容的技巧——第3部分
- 【matlab】元胞数组(使用celldisp显示元胞数组)
- ansible 第二次练习
- UCOIII时间片轮转调度
- 【C++/OOP】(侯捷著) (转)
- centos7安装SVN以及eclipse安装svn
- CentOS7 安装Mldonkey(电驴)步骤
- 小草手把手教你 LabVIEW 串口仪器控制——VISA 串口配置
- 国标服务器GBServerPlatform对接海康摄像头的操作说明
- FFmpeg修改源码支持H265
- vs2015 无法启动程序 系统找不到指定的文件
- 乐鑫Esp32学习之旅11 入门 乐鑫esp-adf 音频框架开发,造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。(附带Demo)
热门文章
- 7种夏季人像暖色效果LR预设
- 书法软件 隐私声明、免责声明和使用条款
- 哈工大计算机系统大作业-程序人生-Hello’s P2P
- 详细判断浏览器运行环境
- 听力虐我千百遍,我待听力如初恋 之 爬取听力资源+音频整合(以雪莉桑德伯格哈佛大学2014毕业典礼演讲为例)
- python能写单片机程序_python能不能单片机编程
- photoshop(ps)换证件照背景色
- Base64编码解码小脚本
- 【简搜题】一个墙裂推荐的考试搜题网站
- python适应的领域_“Andrew说Python爬虫”百家号娱乐领域排行-哪个领域更适合新手作者?...