我正在制作一个Java桌面应用程序,用于计算将使用mysql数据库的客户(因此我可以在以后使用同一个数据库创建一个php前端)。我想知道我是否应该创建一个类,在启动时将所有mysql信息放入数组中,这样我就可以使用数组,或者我应该在需要访问数据时查询数据库。
我想知道什么是最有效,最快等等......有没有人有好的指针?
答案 0 :(得分:3)
您应该在需要数据时查询数据库。这就是数据库的用途。如果将所有数据都带入Java数组,那么最终将在这些数组上构建查询方法,或者限制自己采用简单的方式访问数据。
如果您的数据足够小以便可以轻松放入RAM中,那么MySQL无论如何都会将其全部缓存,并且它会像您首先将其拉入数组一样快。
答案 1 :(得分:0)
如果数据是静态的,那么将数据放入数组可能是有意义的 - 我称之为缓存。
但结算数据对我来说似乎更具动态性,具体取决于您如何定义它。在那种情况下,我每次都会查询数据库。
答案 2 :(得分:0)
根据需要进行查询,而不是预先加载所有信息。这将使用更少的内存。您的某些数据可能需要在工作时进行缓存,但大多数数据都不需要。 RDBMS已经过设计和优化,可以根据需要存储和检索数据,因此最好能够完成它的工作。