加快 SQL 速度在 JMP 13.2.1 中,JSL 脚本“打开数据库(“DSN=mysql”, sql)”比在 MySQL 工作台或同一台电脑上的 mysql 命令行上运行相同的“select”sql 查询要慢得多。 DSN 指向我的 win10 电脑本地安装的 MySQL ODBC 驱动程序(mysql-connector-odbc-5.3.7-winx64.msi)。当“select”返回很多行(例如100万行数据)时,加载速度差异非常明显。希望 JMP 在下一版本中改进此数据连接和加载速度。
数据存取回复:加快 SQL - 状态更改为:已交付@弗兰克兹我们对此进行了研究并评估了其在最新版 JMP(版本 17)中的表现。看来这不再是问题了。对于没有尽快回复此问题,我深表歉意,但我希望您发现 JMP 的最新版本已解决此问题。如果没有,请告诉我们。
回复:加快 SQL - 状态更改为:已确认你好@弗兰克兹, 谢谢你的建议! 我们已收到您的请求并将予以考虑。
回复:加快 SQL 速度作为@pmroz暗示,使用Oracle 调用接口 (OCI)而不是 ODBC 可能是这个问题的更好解决方案 - 如果您的数据库支持它(我无法评论 OCI,因为我自己从未使用过它)我想强调的是,周围有使用 ODBC 的软件(对于特定数据库,通过 SQL 查询)和在相同情况下,它的工作速度比 JMP 快得多(请参阅我的帖子,03-05-2018),所以只需达到这个水平对于 JMP 来说将是一个真正的改进。 鉴于此调用的历史(从 JMP13 到 JMP15 在这方面没有明显的改进),我个人得出的结论是,如果您需要从数据库中获取超过适度数量的记录,则 JMP/SQL 组合可能不是最佳选择(如果可以避免的话)。
回复:加快 SQL 速度@pmroz这可以在JMP中实现吗?我也发现在 JMP 中运行对 Oracle DB 的查询最多需要 20 分钟,而使用 Excel 运行相同的查询只需要大约 20 秒。事实上,每当我比较 JMP 和 Excel 的性能时(过去 8 年),JMP 都是很多比 Excel 慢。
任何帮助将不胜感激!!!
回复:加快 SQL 速度我希望 JSL Open Database() 或 Execute SQL() 的性能得到提高。
来自 Burleson 的 Oracle Tips, http://www.dba-oracle.com/phys_odbc_slow.htm :
使用 ODBC 时,高流量的数据库可能会出现性能问题。 许多 Oracle 应用程序都会遇到开销增加的情况,因为通过 ODBC 连接的效率低于使用本机 API 调用数据库的效率。 因此,建议将 ODBC 替换为本机通信工具,例如 Oracle 调用接口 (OCI) 。 ODBC 通常适用于偶尔的数据库查询,但速度太慢,无法成为大多数生产应用程序中的永久固定装置。
回复:加快 SQL 速度对此竖起大拇指...... 比较使用相同 SQL (JMP14) 的 JSL Open Database() 和 Benthic Golden 或 SQL Developer 的查询,我发现 Oracle 存在巨大差异。我能够通过摆弄数据源的设置来消除这种差异。就我而言,提高“获取缓冲区大小”。但完全同意 JMP 似乎可以/应该在这方面更加聪明,因为其他应用程序都是如此。我最近还有一个案例,我可能会再次看到偏移。也许这个不同的 SQL 需要不同的设置,但 Golden 似乎没有问题......呃。
回复:加快 SQL 速度如果使用 JSL 函数“打开数据库”对 PI System 数据库(OSIsoft、 www.osisoft.com )。 在这种情况下, DSN 指向本地安装在我的 Win7Pro 笔记本电脑上的 PI ODBC 驱动程序。 “打开数据库”比通过 PI SQL Commander 运行相同的 SQL 查询慢得多在同一台机器上。 对于超过 100k 行数据的任何数据来说,这都是一个真正的痛苦/瓶颈 - 强烈支持这个 JMP 愿望!