有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java MySQL只插入所需数据,然后将其发送到crystal report

我正在做一个超过200个表的大项目,我正在使用MySQL(Percona)、Java&;水晶报告JRC。 我有一些报告非常大;在多个表之间有很多连接。 在Java客户机中,我通常在框架上显示数据,在某些情况下,我需要打印这些数据,因此我将唯一ID发送到Crystal Report,以查询相同的数据并打印它

有些报告变得非常慢,然后我想到了一个想法,创建一个只用于打印的表格。 例子: 如果我想打印收据凭证,我会在相框上查看它,所以我会在打印表上插入所有需要的数据,然后将唯一id发送到crystal report并打印它

这张打印表将每48小时腾出一次,因此数据将保持在较小的范围内;这使得报告打印速度更快

注:原始收据表将保存数百万条记录,并应实时保存,因为这是一项要求

但打印台将仅用于打印

所以,请帮助我决定这是否是我能做的改善crystal report数百万条记录性能的最佳方法


共 (1) 个答案

  1. # 1 楼答案

    如果您需要打印的数据已经在java应用程序中被查询,那么让它创建一个临时表,其中只包含我询问的数据,并在Crystal Reports中查询该临时表。e、 g

    CREATE TEMPORARY TABLE IF NOT EXISTS print_data AS (SELECT * FROM table)

    否则,我建议在https://dba.stackexchange.com/中问这个问题,这更多是关于数据库设计的;性能优于Crystal报告,如果在通过一个(尽管复杂)连接结构传递单个唯一id时,您的CR速度变慢,那么要么存在严重的性能调整机会,要么您的硬件和内存已经过了极限/或MySQL作为满足您需求的适当解决方案