我正在使用MySQL数据库,其中一个表具有170万条记录.通过Java中的Restlet框架,我想获取这些记录并将其返回给客户端.我正在使用Linux Centos,它是远程服务器.我已创建WAR文件并上传到服务器上.当我运行该服务时,需要花费大量时间进行响应.我等待了40分钟,但没有得到任何输出.
那么,有人可以帮我解决这个问题吗?
解决方法:
当我有很多行时,我使用了内存映射文件.例如我有一个数据库,我必须在一分钟内检索和处理11亿行. (超过200 GB)
这是一种非常专业的方法,我怀疑有一种方法可以调整您的SQL数据库或使用NoSQL数据库执行您想要的操作.不过,根据您的工作,我希望在一分钟内可以检索到170万个数据(例如,如果您选择的存储量只有这么几个TB,那么这将需要一段时间)
但是,如果确实没有其他选择,则可以编写自定义数据存储.
顺便说一句:只产生一个摘要.应该没有人会读那么多行,当然也不应该在浏览器中显示它们.也许您可以做一些事情来生成报告或摘要,从而减少发送给客户的时间.