mysql - 将 3rd 方报告工具连接到 MySQL

标签 mysql reporting qlikview

我有一个在 MySQL 数据库上运行的应用程序,该应用程序在某种程度上占用了数据库资源。

我的客户想要将 Qlikview 连接到此数据库以进行报告。我想知道是否有人可以给我指点一份白皮书或 URL,以了解在不导致我的数据库出现锁定等情况下执行此操作的最佳方法。

我已经在 Google 上搜索了,但没有结果。

最佳答案

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 中创建所有数据模型。

关于mysql - 将 3rd 方报告工具连接到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54881799/

相关文章:

database - 如何在 Qlikview 中创建一个显示时间线与月份的图表?

amazon-s3 - 将 Amazon S3 连接到 QlikView 以提取数据

php - 连接到显示 mysqli_connect() 函数警告的数据库时出现问题

mysql - 如何在带有 Express 框架的 mysql 中使用 AND 运算符

javascript - 将值从 javascript 传递到 PHP(使用隐藏字段)

c# - 如何在 ASP.NET MVC View 中对数据进行分组?

mysql - SQLAlchemy 与 Google Cloud SQL 连接到开发服务器

c# - 打印发票、取票等的最佳方式

angular - Angular 7 项目的报告工具比较

sql - 如何从特定数据库中的所有表中检索不属于主键和外键的所有列