首页 新闻 赞助 找找看

如何快速地处理数据

0
悬赏园豆:30 [已关闭问题] 解决于 2012-11-13 11:03

我负责我们公司的酒店项目,用的是艺龙酒店的数据接口。

我是这样做的,把艺龙的部分基础数据,比如说酒店的名称、介绍、位置等等放到本地数据库,几分门别类的,分的表也挺多的,总共也有一百万左右的数据,所以我查询的时候速度很慢,大概要30秒才完成。而且查询出来酒店的Id后,还得用接口的方法来查询实时的房价、数量等等,所以才会要这么久。我不知道,如何提升查询的速度,还是我设计有问题?

大家做过类似大数据的,请支招……

阿猫小覃的主页 阿猫小覃 | 初学一级 | 园豆:2
提问于:2012-11-10 15:08
< >
分享
其他回答(5)
0

建全文索引

田林九村 | 园豆:2367 (老鸟四级) | 2012-11-10 15:48
0

1.你的数据是怎么查法的,有建立索引吗,是主键查找,还是模糊查找?

2.一次提取多少,百万级的不会这么慢吧?

3.时间是消耗在你的查找上面,还是消耗在艺龙的接口上?

如我等菜鸟要把问题提清楚点啊,高手才会来?呵呵

滴水冰寒 | 园豆:43 (初学一级) | 2012-11-10 15:57

有道理。

用的是模糊查询,先查到酒店的基本信息,然后根据酒店ID查酒店图片表、酒店放行表、酒店服务表,然后还得用艺龙接口获取实时的数据信息,比如房价、最低价、房型状态、房型数量。结果发现,时间耗在调用接口上了,如果只是本地查询和调用一次接口方法,网页8秒左右就呈现了,但是如果把本地查询出来的集合(15)循环一遍之后,即调用了15次接口的方法,最后变成了30秒甚至50秒的呈现时间。

支持(0) 反对(0) 阿猫小覃 | 园豆:2 (初学一级) | 2012-11-10 16:20
0

这种问题很好解决,可以使用数据缓存功能,将一个一个区域的分成块,直接放入内存当中,这里可以省去你这8秒的时间,调用接口部分,直接放到客户端用js来实现,这样体验上去了,速度就提升了

az235 | 园豆:8483 (大侠五级) | 2012-11-10 18:06

我试一下。我都没这样做过呢。谢谢呵。最郁闷的是明明是正确的答案,告诉了我我还是不明白。所以我得试一下

支持(0) 反对(0) 阿猫小覃 | 园豆:2 (初学一级) | 2012-11-10 18:18
0

建全文索引和优化一下sql语句

jason2013 | 园豆:1998 (小虾三级) | 2012-11-10 23:09
0

你可以用sql执行计划,看下你的sql语句,具体的时间是花在了哪个上面,才可以有具体的优化步骤

chenping2008 | 园豆:9836 (大侠五级) | 2012-11-11 19:10
0

既然有接口就直接调接口好了,本地不要保存了..

jingjunfeng | 园豆:873 (小虾三级) | 2012-11-12 14:07

直接调用要好久时间的

支持(0) 反对(0) 阿猫小覃 | 园豆:2 (初学一级) | 2012-11-13 00:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册