我应该将mysql数据加载到数组中还是只使用java查询数据库

时间:2011-08-08 15:34:21

标签: java php mysql sql

我正在制作一个Java桌面应用程序,用于计算将使用mysql数据库的客户(因此我可以在以后使用同一个数据库创建一个php前端)。我想知道我是否应该创建一个类,在启动时将所有mysql信息放入数组中,这样我就可以使用数组,或者我应该在需要访问数据时查询数据库。

我想知道什么是最有效,最快等等......有没有人有好的指针?

3 个答案:

答案 0 :(得分:3)

您应该在需要数据时查询数据库。这就是数据库的用途。如果将所有数据都带入Java数组,那么最终将在这些数组上构建查询方法,或者限制自己采用简单的方式访问数据。

如果您的数据足够小以便可以轻松放入RAM中,那么MySQL无论如何都会将其全部缓存,并且它会像您首先将其拉入数组一样快。

答案 1 :(得分:0)

如果数据是静态的,那么将数据放入数组可能是有意义的 - 我称之为缓存。

但结算数据对我来说似乎更具动态性,具体取决于您如何定义它。在那种情况下,我每次都会查询数据库。

答案 2 :(得分:0)

根据需要进行查询,而不是预先加载所有信息。这将使用更少的内存。您的某些数据可能需要在工作时进行缓存,但大多数数据都不需要。 RDBMS已经过设计和优化,可以根据需要存储和检索数据,因此最好能够完成它的工作。