cassandra——可以预料的查询,如果你的查询条件有一个是根据索引查询,那其它非索引非主键字段,可以通过加一个ALLOW FILTERING来过滤实现...
cassandra的索引查询和排序
cassandra的索引查询和排序
cassandra的查询虽然很弱,但是它也是支持索引和排序的,当然是简陋的查询,这一切都是为了追求性能的代价,所以要使用cassandra,你不能希望它完全适用你的逻辑,而是把你的逻辑设计的更适合cassandra。
第一:索引查询
cassandra是支持创建二级索引的,索引可以创建在除了第一个主键之外所有的列上,当然有些类型除外,例如集合类型。
例如
1 2 3 4 5 6 7 8 9 10 11 |
|
在第一主键a上创建索引是不可以的:
1 |
|
索引列只可以用=号查询,所以
1 2 |
|
如果你的查询条件里,有一个是根据索引查询,那其它非索引非主键字段,可以通过加一个ALLOW FILTERING来过滤实现
例如:
1 |
|
虽然m字段是非索引非主键字段,但是只要加了ALLOW FILTERING条件,它会先根据e=1查出来,再对结果进行m>2过滤
第二:排序
cassandra也是支持排序的,order by。 当然它的排序也是有条件的,
第一:必须有第一主键的=号查询。cassandra的第一主键是决定记录分布在哪台机器上,也就是说cassandra只支持单台机器上的记录排序。
第二:那就是只能根据第二、三、四…主键进行有序的,相同的排序。
第三:不能有索引查询
1 2 3 4 |
|
以上都是可以的。
1 2 3 4 |
|
其实cassandra的任何查询,最后的结果都是有序的,默认的是b asc, c asc,因为它内部就是这样存储的。
这个我在《cassandra2.0 如何实现分页查询》文章中提到过。所以你使用b desc, c asc 或者b asc,c desc 去排序,cassandra是比较为难的。
当然这个默认存储排序方式,是可以在建表的时候指定的。
1 2 3 4 5 6 7 8 9 |
|
除非注明,赵岩的博客文章均为原创,转载请以链接形式标明本文地址
本文地址:http://zhaoyanblog.com/archives/499.html
转载于:https://www.cnblogs.com/bonelee/p/6306079.html
cassandra——可以预料的查询,如果你的查询条件有一个是根据索引查询,那其它非索引非主键字段,可以通过加一个ALLOW FILTERING来过滤实现...相关推荐
- 【mybatis】mybatis自定义动态字段查询,mybatis实现动态字段查询,如果某个条件为null,则不查询某个字段,否则就查询某个字段...
mybatis实现动态字段查询,如果某个条件为null,则不查询某个字段,否则就查询某个字段 先看一下 怎么实现动态的自定义字段查询: 例如: 而field 就是数据表中的某一个字段 String f ...
- Oracle提高SQL查询效率where语句条件的先后次序
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处 ...
- mysql 主键查询性能_MySQL查询性能优化(精)
MySQL查询性能优化 MySQL查询性能的优化涉及多个方面,其中包括库表结构.建立合理的索引.设计合理的查询.库表结构包括如何设计表之间的关联.表字段的数据类型等.这需要依据具体的场景进行设计.如下 ...
- 19_clickhouse,数据查询与写入优化,分布式子查询优化,外部聚合/排序优化,基于JOIN引擎的优化,SQL优化案例,物化视图提速,查询优化常用经验法则,选择和主键不一样的排序键,数据入库优化
25.数据查询与写入优化 25.1.分布式子查询优化 25.1.1.分布式表的IN查询示例1(普通IN子查询.IN子查询为本地表) 25.1.2.分布式表的IN查询示例2(普通IN子查询.IN子查询为 ...
- 检索数据_8_查询语句里执行条件判断
查询语句里执行条件判断 需求描述 需求:查询雇员表emp里的员工名称.工资.工资分类状态.这里的工资分类状态按照以下规则显示:如果工资小于等于2000则显示UNDERPAID(即报酬比较低的),如果工 ...
- 整型索引查询mysql是不是快点_图解Mysql索引的数据结构!看不懂你来找我
听说微信搜索<Java鱼仔>会变更强哦! 本文收录于JavaStarter ,里面有我完整的Java系列文章,学习或面试都可以看看哦 (一)关于索引 索引是帮助Mysql更加高效获取数据的 ...
- MySQL查询与数据库设计 #万能公式 #思维导图 #MySQL查询 #数据库设计规范 #第二部分
MySQL查询 零.MySQL查询万能公式 一.查询 1)查询表中记录 2)给表取名 3)去重(distinct) 二.条件查询 1)比较运算符 2)逻辑运算符 3)模糊查询 like(用通配符) r ...
- mysql索引查询 with_mysql select with in子句不使用索引
我有一个联系人表,其主键为id.它还有一个辅助索引idx_id_del_user(id,deleted,user_id). 以下查询使用索引,因此非常快 – select id from jts_co ...
- MySQL经典四表查询(教师,学生,成绩,课程表)多表查询
我用的工具:MySQL5.7+SQLyog-11.2.5-0 1.表架构呈现 student(sid,sname,sage,ssex) 学生表 teacher(tid,tname) 教师表 cours ...
最新文章
- mysql server远程连接_MySql server:开放mysql远程连接
- java接口关于interface关键字
- android activity 渐变,关于Android的径向渐变高级编程的实现
- 继承Thread 创建多线程的简单实现
- linux提权辅助工具(二):linux-exploit-suggester-2.pl
- 中国联通官网被发现含木马脚本,可向用户推广色情APP
- oracle执行runstats,Oracle编程艺术--配置环境:runstats脚本
- SQL server 数据加密
- WES7@IIC-China
- 周鸿祎:很多人不缺情商智商但缺“胆商”
- winform自定义控件无法显示在工具箱中以及显示但使用时出错的解决办法
- Unityt涂抹擦除功能
- 我玩的王者荣耀(一)——鲁班
- 大多数企业数字化转型的真正目的其实只是为了能多裁点人
- tesseract-ocr 识别图片中的数字
- 2022 版史上最全 Java 八股文,没有任何异议
- Status of node rabbit@xxxxx... Error: unable to perform an operation on node ‘rabbit@xxxx
- 《统计学》(贾俊平)考研初试完整学习笔记10~14章
- 关于python中end函数的使用
- iOS 调整UIPageControl圆点大小
热门文章
- 滞后超前校正控制器的设计和matlab仿真 静态速度误差系数为10,自控实验六 基于频域的串联校正控制器设置 - GXUZF.COM - 林澈思的茶...
- php方案报价单,综合布线设计方案,综合布线报价清单
- python一个图画两条曲线_用python建立两个Y轴的XY曲线图方法
- java实现窗口透明_java实现窗口透明
- 计算机设备布局图,针对不同设备类型创建仪表板布局
- mabatisplus怎么给实体类自定义属性_如果你的角色属性可以自定义,你会怎么点?...
- 【以太坊】web3.js的1.0版本和0.2.0版本的安装及区别
- 保洁阿姨看完都会了!java面向对象编程开发证书
- 【Ubuntu入门到精通系列讲解】Ubuntu 图形界面入门
- python【蓝桥杯vip练习题库】BASIC-21Sine之舞(递归 递推)