我已经为我的app的数据创建了所有的CRUD操作,现在我需要处理数据并创建报告。
根据这些报告的复杂性,我将创建一些汇总或预处理表。这样,我就可以触发一次报告创建,然后高效地获取它们。
我的疑问是我是应该用Java还是用MySQL的存储过程构建所有的报告。
谢谢!
爪哇。虽然两者都有可能。这要看什么是最重要的,有什么技能可以进行维护,以及维护的价格。存储过程通常非常快,但可用性和性能还取决于您使用的确切数据库。您将需要特殊的技能,然后您将所有的工作在特定的数据库。
Hibernate确实为每个数据库编写了一种特殊的方言,以便从持久层中获得最佳性能。它没有存储过程那么快,但已经非常接近了。有了Spring的数据,所有的困难都消失了。维护费用不会那么高,而且了解Spring数据的人比任何专门的数据库供应商都更容易获得。
您仍然可以使用HQL轻松地创建各种“困难”查询,因此没有阻塞。但是Hibernate有更多的可能性。您可以通过eh-cache完成缓存,而使用Hibernate envers,您将立即完成审计。这就是这个框架的优点。它被广泛使用,并且有许多免费使用maven的依赖项可供选择。如果您将来想要更改数据库,可以在使用Spring数据时更改application.properties文件中的3个参数。
我开始创建一个系统,我(作为目前唯一的用户)将加载一个动态创建的PHP页面,该页面具有
目前需求就是将mysql的表结构及数据迁移到pgsql. 我用的方案是使用navicate 同步数据及结构到pg, 有如下问题: mysql中的索引直接丢失了 不知道为啥一直报错表找不到 对于默认值 pgsql也丢失了 请问大家有什么好的实践吗? 我考虑的是 直接使用数据库迁移 将数据库脚本转化为pg的语法
问题内容: 我的iPhone应用程序连接到我的PHP Web服务,以从MySQL数据库检索数据。一个请求可以返回500个结果。 一次实现分页并检索20个项目的最佳方法是什么? 假设我从数据库中收到了前20个广告。现在如何请求接下来的20个广告? 问题答案: 从MySQL文档: LIMIT子句可用于约束SELECT语句返回的行数。LIMIT接受一个或两个数字参数,这两个参数都必须是非负整数常量(使用
最近我考虑了在MySQL数据库中存储历史数据的最佳实践。目前,每个可版本表都有两列-和,都是类型。具有当前数据的记录的填充了其创建日期。当我更新此行时,我将填充更新日期,并使用添加新记录,与前一行中的相同-简单的操作。但是我知道这个表会非常大,非常快,所以获取数据会非常慢。 我想知道您是否有存储历史数据的实践?
问题内容: 我们有一个实时的MySQL数据库,该数据库的插入率为99%,每秒约100个。我们希望每天都存档数据,以便我们可以在不影响主实时数据库的情况下对其进行查询。此外,归档完成后,我们要清除实时数据库。 没有(如果可能)锁定INSERT的最佳方法是什么?我们对查询使用INSERT DELAYED。 问题答案: http://www.maatkit.org/具有mk-archiver 将表中的行
问题内容: 我正在启动一个普通的Java SE项目,并且打算使用JPA / Hibernate。我想知道是否有人可以启发我了解在这种环境(数据访问层)中与Hibernate交互的最佳方法是什么? 问题答案: 我不确定什么是最佳方法,但是在我的工作场所中,我们大多数Hibernate交互都是基于以下文章: 不要让Hibernate窃取您的身份 和通用数据访问对象 它们向您展示如何以一种智能的方式制作