登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发技术 > 正文

RadonDB技术手册——RadonDB复杂SQL体验

2018-05-08 10:50    it168网站 原创  作者: 厂商投稿 编辑: 田晓旭

  【IT168 技术】背景

  此场景目的是体验RadonDB的复杂查询兼容性能力。

  一般中间件对SQL处理上的约束:

  ● 全局排序不支持

  ● 查询中不包含分区键的,不支持或是性能不好

  ● 需要join的需要拆分中绑定到一个库里

  ● 聚集函数不支持

  ● limit运算,可能开销过重

  RadonDB则没有上面的约束。

  操作

  1) 对非分区键k进行全局排序

  mysql>select * from benchyou0 order by k desc limit 5;

RadonDB技术手册——RadonDB复杂SQL体验

  2) 非分区键k的全局查询

  mysql> select * from benchyou0 where k < 9223371759262367800 and k > 9223367322539387931 order by k desc;

RadonDB技术手册——RadonDB复杂SQL体验

  3) 多条件排序(order by k desc, id asc)

  mysql> select id, k from benchyou0 where k < 9223371759262367800 and k > 9223367322539387931 order by k desc, id asc;

RadonDB技术手册——RadonDB复杂SQL体验

  3) join

  mysql> select t1.id, t1.k , t2.k from benchyou0 as t1 left join benchyou1 as t2 on t1.k=t2.k order by t1.k desc limit 10;

RadonDB技术手册——RadonDB复杂SQL体验

  由于benchyou压测的时候数据完全离散,所以t1.k=t2.k没有重叠。

  自行体验见脚本:

  $ cat example/join.example

RadonDB技术手册——RadonDB复杂SQL体验

  4) 聚集函数

  mysql> select count(id) from benchyou0;

RadonDB技术手册——RadonDB复杂SQL体验

  mysql> select max(k) from benchyou0;

RadonDB技术手册——RadonDB复杂SQL体验

  技术分析

  RadonDB本身支持:

  order by, group by, limit[offset], sum/count/avg/max/min操作。

  对于join等复杂查询会自动路由到计算节点。

标签: 数据库 , 青云 , RadonDB
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫一扫关注

编辑推荐
首页 评论 返回顶部