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

将第三方报告工具连接到MySQL,mysql,reporting,qlikview,Mysql,Reporting,Qlikview,我有一个在MySQL数据库上运行的应用程序,该应用程序在DB上有点资源密集型 我的客户希望将Qlikview连接到此数据库以进行报告。我想知道是否有人能给我提供一份白皮书或URL,告诉我如何在不造成数据库锁定的情况下做到这一点 我搜索了谷歌,但没有结果。Qlikview是内存中的工具,带有预加载的数据,因此您的客户必须仅在定期重新加载期间获取数据,而不是始终。 最好的方法是,您的客户端将设置每晚重新加载一次,并使其递增。如果您的表每晚只加载新记录,则只加载比上次加载的主键大的记录 如果您的表有修

我有一个在MySQL数据库上运行的应用程序,该应用程序在DB上有点资源密集型

我的客户希望将Qlikview连接到此数据库以进行报告。我想知道是否有人能给我提供一份白皮书或URL,告诉我如何在不造成数据库锁定的情况下做到这一点


我搜索了谷歌,但没有结果。

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

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

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

此外,要保存资源,您的客户机应仅以真正简单的样式为每个表加载数据,而不使用联接:

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

Qlikview对于数据建模/连接来说非常好且快速,因此您的客户可以在Qlikview中创建所有数据模型。

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

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

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

此外,要保存资源,您的客户机应仅以真正简单的样式为每个表加载数据,而不使用联接:

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

Qlikview对于数据建模/连接来说非常好且快速,因此您的客户机可以在Qlikview中创建所有数据模型。

报告确实会在繁忙的事务数据库上造成问题

您可能希望研究的一种方法是拥有数据库的副本(从)。MySQL非常支持这一点,您的副本数据可以根据需要随时更新。然后,您可以将任何报告系统连接到副本,以运行不会影响主数据库的大量报告。这还为您提供了一个备份(第二个副本),该备份还可用于创建数据的脱机备份,而不会影响主数据库

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


我希望这会有所帮助。

报告确实会在繁忙的事务性数据库上造成问题

您可能希望研究的一种方法是拥有数据库的副本(从)。MySQL非常支持这一点,您的副本数据可以根据需要随时更新。然后,您可以将任何报告系统连接到副本,以运行不会影响主数据库的大量报告。这还为您提供了一个备份(第二个副本),该备份还可用于创建数据的脱机备份,而不会影响主数据库

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


我希望这会有所帮助。

select语句是无锁的,但是我建议,为了实现资源隔离,您可以使用复制从机进行密集报告。一个称为Qlikview的需求有点宽泛——也许您可以为那些不熟悉该应用程序的人使用更多的词汇。也许您也可以问一些问题来降低应用程序的密集度。您好,我的回答有帮助吗?是的,谢谢。select语句是无锁的,但是我建议,对于资源隔离,您可以使用复制从机进行密集报告。一个称为Qlikview的需求有点宽泛——也许您可以为那些不熟悉该应用程序的人使用更多的词汇。也许你可以问一些问题来减少申请的强度。嗨,我的答案有用吗?是的,谢谢。