Mic*_*l B 6 java database collections
我已经看到了一些Java代码,其中数据库表中的行被保存在集合中(通常是ArrayList或HashMap).
这是一个好习惯吗?
好处是表现. 查询数据库是资源和时间密集型的.如果您的表足够小,您可以将项目保存在内存中,对本地内存的简单引用速度要快几个数量级.
至于保持它们同步,这是一个更难的答案,并将取决于用例.在大多数情况下,除非您已经设置了一些好的自定义体系结构,否则一旦将数据库和内存中集合检索到内存中,就无法保证数据库和内存中集合是同步的.
如果您想采用这种方法并使集合和数据库保持同步(有点像吃蛋糕和吃它),您可以执行以下操作:
当然,这是否会提高性能将取决于您的数据库被其他程序修改的频率.
您也可以在程序中简单地保持对数据库的锁定,以便在处理期间没有其他人可以修改它(允许您将项目保留在内存中并保证数据库不变),但这非常糟糕练习,因为你基本上会同时使用该表破坏任何其他应用程序(除了阅读之外的任何其他应用程序).