Bitmap算法应用实例(转)
2024-08-26 02:18:37
关于数据库查询工作,例如有如下数据库表
要想统计所有90后的程序员该怎么做呢?用一条求交集的SQL语句即可:
Select count(distinct Name) as 用户数 from table whare age = '90后' and Occupation = '程序员' ;
要想统计所有使用苹果手机或者00后的用户总合该怎么做?用一条求并集的SQL语句即可:
Select count(distinct Name) as 用户数 from table whare Phone = '苹果' or age = '00后' ;
可是如果后面查询条件有上千条呢?查询性能必然跟不上。Bitmap算法开始登场!
1. 建立用户名和用户ID的映射:
2. 让每一个标签存储包含此标签的所有用户ID,每一个标签都是一个独立的Bitmap。
3. 这样,实现用户的去重和查询统计,就变得一目了然:
Bitmap在做交集和并集运算的时候也有极大的便利性。
1. 如何查找使用苹果手机的程序员用户?
2. 如何查找所有男性或者00后的用户?
最新文章
- java System.out
- C#基础之程序集(一)
- base64加密解密文件
- java学习面向对象之继承
- MAVEN Scope使用
- js 获取浏览器内核
- DOM【介绍、HTML中的DOM、XML中的DOM】
- ping通windows下虚拟机上的linux系统
- vue2.0 — 移动端的输入框实时检索更新列表
- [源码分析]AbstractStringBuilder
- STM32 BOR/POR/PDR介绍
- POST 400 的一次遭遇
- Selenium简单回顾
- Windows 自动启动 bat
- C++Primer第五版——习题答案详解(十一)
- [20180801]insert导致死锁.txt
- random.sample函数
- delete,truncate 和 delete之间的区别
- fatal error C1010: unexpected end of file while looking for precompiled header directive
- LCS 最长公共子子串
热门文章
- ubuntu 安装xdebug
- 利用Fiddler,解密wireshark抓的HTTPS包
- TCP协议详解7层和4层解析(美团,阿里) 尤其是三次握手,四次挥手 具体发送的报文和状态都要掌握
- wpf拖拽
- P1483 序列变换
- SPOJ - PHRASES
- BZO4197 &; 洛谷2150 &; UOJ129:[NOI2015]寿司晚宴——题解
- HDOJ(HDU).2602 Bone Collector (DP 01背包)
- HDOJ.1789 Doing Homework again (贪心)
- Visual Studio 2010如何利用宏