将第三方报告工具连接到MySQL

时间:2019-02-26 09:05:21

标签: mysql reporting qlikview

我有一个在MySQL数据库上运行的应用程序,该应用程序在数据库上会占用大量资源。

我的客户希望将Qlikview连接到该数据库以进行报告。我想知道是否有人可以将我或白皮书或URL指向关于执行此操作的最佳方法,而又不会在数据库上造成锁定等。

我没有对Google进行搜索。

2 个答案:

答案 0 :(得分:0)

Qlikview是具有预加载数据的内存工具,因此您的客户端仅在定期重新加载期间才需要获取数据,而并非一直都在获取。 最好的方法是,您的客户端将每晚设置一次重新加载并使其递增。如果您的表每晚只加载新记录,则记录只比上一次加载的主键大。

如果您的表已修改记录,则需要在mysql的last_modified_time字段中添加,并且可能还要在该字段上设置索引。

last_modified_time TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

如果要删除您的字段,最好在mysql中将其设置为Deleted = 1,否则您的客户端将需要重新加载该表中的所有内容以了解删除了哪些行。

另外,您的客户端为了节省资源,应该在每个表中仅以非常简单的样式加载数据,而无需JOINS:

SELECT [fields] FROM TABLE WHERE `id` > $(vLastId);

Qlikview在数据建模/联接方面确实非常好且快速,因此您的客户端可以在QLikview中创建所有数据模型。

答案 1 :(得分:0)

报告确实会在繁忙的事务数据库上引起问题。

您可能要检查的一种方法是拥有数据库的副本(从属)。 MySQL很好地支持了这一点,您的副本数据可以根据需要进行更新。然后,您可以将任何报告系统附加到副本上,以运行不会影响主数据库的大量报告。这也为您提供了备份(第二副本),并且该备份还可以用于创建数据的脱机备份,而不会影响您的主数据库。

关于MySQL副本的设置,有很多信息,这并不难。

我希望有帮助。