以前说过关于phoenix在查询的过程当中性能的问题,继续探讨。sql
最近一直在找合适的方法,能够巧妙的完成sql和nosql的结合,总之就是利用sql的多条件查询,能够把储存在nosql中的数据读取出来。phoenix的底层就是hbase存储,hbase的键值对查询的速度是很快的,机会不会有性能的问题。那么在phoenix的多条件查询为何会比较慢,耗时须要1000万数据几分钟?nosql
我仔细对照了hbase中两张不一样的表,分别是A表和B表,A表数据700万可是字段15个,字段存储的数据比较小。B表400万字段15个,每一个字段存储的数据比较大。性能
查询的结果以下:A表查询时间17秒,B表查询时间52秒。方法
从上面的结果能够猜想,虽然A表的数据比较多,可是查询速度比较快;B表相反。数据
缘由猜想:A表的存储的数据比较小,B表存储的数据比较大。因此,怎么结合sql和Nosql存储数据呢?查询
个人办法能够供参考:查询条件能够按照关系型存储,这样能够经过条件筛选出须要的数据;比较大的无关内容能够按照键值对存储,主键存储在关系型的表格里面。能够大大的提高存储的性能。时间