深知我心 发表于 2015-6-27 07:53

请工版IT牛人乱入,一道senior面试题!


一道面向senior的面试题,请牛人解答!

题的要求很简单,但有一定技术难度---->>:

查询数据库,找到32万个查询结果(最高可能超过70万个),因为数据太多,使得查询和在前端返回显示结果都比较慢,如何做能提高查询效率?能在前端更快的显示查询结果?

数据库是oracle + jpa, 前端是一当前常见的开源框架

抓紧时间 发表于 2015-6-27 08:25

一般是换数据结构和数据库

chinapope 发表于 2015-6-27 09:07

不是搞数据库的IT,随便一说,
1)前端显示部分结果(历史纪录,根本不用查, 直接显示)
2 ) 同时后端继续查(最近更新的纪录)。

小牛拉车 发表于 2015-6-27 09:13

感觉是国内面试题

leelight 发表于 2015-6-27 09:17

分页啊

mymy365 发表于 2015-6-27 10:34

32W算小数据了
简单几个字:优化数据结构,具体的怎么做就只能具体分析了。

bjzjyang 发表于 2015-6-27 11:27

{:5_310:}进来膜拜

qwycd 发表于 2015-6-27 12:17

取决于数据库数据量大小,几张表如果过亿的话,分库分区。其他的情况一般索引可以解决。如果前端高并发,考虑用线程池页面静态化

kolinsky 发表于 2015-6-28 09:18

{:5_332:} 什么破公司啊,你前台要看32万个数据啊,你的sql重新写,要更准确一点,压到200个以下。

hyd198471 发表于 2015-6-28 09:29

jpa 层面的话lazy loading, 然后前台的话pagenation
页: [1] 2
查看完整版本: 请工版IT牛人乱入,一道senior面试题!