我有一个springboot项目,我最近设法在VPS上部署了它。当在我的机器上运行的select查询几乎立刻就慢到爬行的速度时,我感到非常惊讶。我知道会慢一点,只是没料到会有那么多。
我创建了一个测试项目来重现这个问题。它从一个包含100000行的表中选择大约20000行。创建查询大约需要100秒,运行查询需要0,52秒。我试着多测试10行,但花了比这长得多的时间,最终抛出
OutOfMemoryError
.
psql
控制台在没有索引的情况下大约需要100毫秒,在没有索引的情况下需要20毫秒。
server
以及
client
项目并遵循那里的说明。我从我真正的项目开始,尽可能多地删除了一些东西,但把它放在相似的地方,这样就可以比较了。
22.4 GHz CPU
2 GB内存
uname -a
Linux ampix 2.6.32-042stab127.2 #1 SMP Thu Jan 4 16:41:44 MSK 2018 x86_64 GNU/Linux
德比安·杰西
爪哇8 x64
弹簧靴2.0.1.释放
提前谢谢。
更新1
:忘记在Spring之外编写test,忘记在select条件中使用0,8而不是0,9,因此所选行的数目大于最初编写的行数。
更新2
:使用派生查询返回
Stream<>