当前位置: 首页 > news >正文

网站分站代理/关键词挖掘工具网站

网站分站代理,关键词挖掘工具网站,青岛外贸出口公司联系电话,个人网站设计模板中文前面的文章讲到ignite支持扫描查询和sql查询,其sql查询是ignite产品的一个亮点,那么哪一种的查询更适合我们的产品使用呢,往下看: 先分别贴一下扫描查询和sql查询两种查询方式的代码,供参考: 扫描方式: IgniteCache<Long, Person> cache ignite.cache("mycache&quo…

  前面的文章讲到ignite支持扫描查询和sql查询,其sql查询是ignite产品的一个亮点,那么哪一种的查询更适合我们的产品使用呢,往下看:

 

  先分别贴一下扫描查询和sql查询两种查询方式的代码,供参考:

  扫描方式:

IgniteCache<Long, Person> cache = ignite.cache("mycache");
// Find only persons earning more than 1,000.
IgniteBiPredicate<Long, Person> filter = new IgniteBiPredicate<>() {@Override public boolean apply(Long key, Perons p) {return p.getSalary() > 1000;}
};
try (QueryCursor cursor = cache.query(new ScanQuery(filter)) {for (Person p : cursor)System.out.println(p.toString());
}

 sql方式:

    IgniteCache<String, Task>  cache = cache();SqlQuery sql = new SqlQuery(Task.class,"taskStatus = ? ");List<CacheEntryImpl> list =  cache.query(sql.setArgs(status)).getAll();

 

  开始实验:

说明

  1.Cache<String,Task>

  2.Task是一个复杂pojo,其中设立索引 taskId和taskTemplateId

       3.单节点启动,cache容量为50000

案例:

  1. 查询分四步进行,

    a)         根据模板扫描查询任务(截图中日志未说明按模板查询)

    b)         根据模板sql查询任务

    c)         扫描查询所有任务

    d)         Sql查询所有任务

结果:

   

 

可以看到查询结果为:

    B优于 a;

    D优于 c;

初步说明用sql查询的方式要优于扫描查询

 

但是继续运行会发现查询时间越来越短,为了防止ignite自动加载到缓存引起的时间不准确,如图:

   

 

将查询的顺序调换,方案顺序为(d,c,b,a)重新测试:

结果:

   

 

重新测试依然发现查询次数越多花的时间越少,得出结论,先执行的查询要花更多的时间,后执行的查询会利用一些本地缓存,但是对比两次的测试结果不妨碍得出结论:

         无论是全部扫描还是根据某个属性查询,sql查询的速度都要优于扫描查询的速度

 

测试二:

         在以上环境基础上,验证索引的建立对于查询的意义,保留以上测试的日志留作去掉索引时测试结果的对比

结果:

        

 

这个结果比较上一张截图发现,其他查询都没什么变化,但是利用模板索引的查询显然比上面快了不少???这个跟设想完全不同,建立索引反而降低了速度,去掉索引更快.

为了验证是不是哪里出了错误或者看到的结果不够端正,继续查看查询平稳之后的查询速度:

有索引:

   

 

无索引:

   

观察得出:有索引的查询在稳定后根据模板索引的查询稳定在了0.3秒附近,而没有索引的查询只能稳定在0.4秒附近,得出建立索引确实会让sql的查询变得更快,另外索引的建立会导致扫描方式的查询变得更慢.至于最开始的查询截图得出的相悖结论只是一时情况,与实际生产情况不符,只遵循稳定后的速度.

 

初步验证就到这里,还有问题后续验证:

  1. 由于ignite机制的存在会导致同一个cache越查越快,但是如果中途加入新的数据,sql查询能否维持0.3秒左右的查询速度,还是会恢复到最开始的0.7秒?
  2. 为什么最开始的时候没有索引的情况下反而速度更快?
  3. 多节点下,查询是否会变得更快还是更慢?

 

多节点下的查询效率

初步验证:

在上面实验结果的情况下,直接双开节点,获取结果信息

   

 

对比结果发现:

         双节点的情况下,扫描查询的速度会变得更慢,但是sql的查询没有因为网络交互速度变慢,反而速度更快,查询基本低于0.3秒,

初步得出ignite使用结论:

  多节点下使用sql查询并建立索引是最好的查询.

转载于:https://www.cnblogs.com/garfieldcgf/p/7919304.html

http://www.lbrq.cn/news/1245763.html

相关文章:

  • wordpress表单编辑插件下载/外贸谷歌seo
  • 广州出名的网站/网络营销方式
  • 电子商务网站建设大作业/黄页网站推广效果
  • 淘宝客服推销做网站的技巧/百度下载安装app
  • 惠州专业网站建设/系统推广公司
  • 网站素材下载/中国搜索引擎
  • 政府门户网站app建设方案/国外新闻最新消息
  • 网站建设资源分享/性价比高seo排名优化的
  • 新疆建设工程网官网/seo网站首页推广
  • 盐城网站建设公司/如何创建自己的个人网站
  • 建设一个微信小说网站/上海十大营销策划公司
  • 织梦模板首页修改教程/关键词优化软件哪家好
  • 成都网站网页设计/广告联盟官网入口
  • 建设网站的准备工作/我想创建一个网络平台
  • 网站上传用什么软件做视频/百度经验首页官网
  • 农机局网站建设方案/最新国内你新闻
  • 专业的论坛网站建设/关键词提取工具
  • 企业网站的建立流程的第一步是/中国疫情今天最新消息
  • 建设个人网站步骤/软文广告文案
  • 苏州营销网站建设/泰安百度推广代理
  • 一个备案号可以放几个网站/微营销平台系统
  • 可以做心理测试的网站有哪些/福州seo建站
  • 静态网站和动态网站/优化是什么意思
  • 企业网站开发意义/网站快速排名的方法
  • 做百度手机网站排名/深圳网络营销怎么推广
  • 科普网站建设经验/网站建设黄页免费观看
  • 网站简繁体转换.rar/百度指数是什么
  • 网站如何备案 流程/网络营销网站
  • 网站系统建设架构/百度代理
  • 汕头网站制作服务商/百度网盘电脑网页版
  • 代码随想录Day35:动态规划(背包问题 二维 一维、分割等和子集)
  • 设计模式之代理模式
  • 数据库中使用SQL作分组处理01(简单分组)
  • 【预判一手面试问题:排序】
  • 基于 Hadoop 生态圈的数据仓库实践 —— OLAP 与数据可视化(六)
  • jmeter读取上游接口并遍历数组数据并进行压测