在非大数据(几万以上记录)的情况下,影响接口响应速度的因素中最大的是查询数据库的次数,其次才是数组遍历和简单数据处理(如根据已有字段增加新的属性,或计算值)。
一般一次数据库查询需要50毫秒以上,最快也要20毫秒。
数组遍历,简单排序和简单数据处理一次通常10毫秒左右。
当然在大数据的情况下,这些处理时间都快度增加。
提高接口响应速度的方法有:
一:减少查询次数,特别是要尽量杜绝嵌套查询。把能合并的查询合并成一个,最后转成map,最后在查找处理。这能大大减少响应速度。
我遇到一个嵌套查询用时120秒左右,优化后变成1–2秒。
二:使用什么字段就选择什么字段,尽量减少字段。这样给前段时省流量并且能提高响应速度。
三:对真正的大数据处理,并且不需要实时的,可以用定时任务处理后存入新表,使用时直接查新表。
四:在查询的字段上建立索引。
我遇到一个大数据查询,没有在查询字段上建立索引,用时12秒,建立索引后响应时间提高到1.1秒。可见索引的作用大。
08-29
1461
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-10
177
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
10-12
1143
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-01
3767
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-28
519
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-13
1394
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-25
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交