使用 Java 语言在 MySQL 中设置 SQL 用户定义函数时出现问题

Posted

技术标签:

【中文标题】使用 Java 语言在 MySQL 中设置 SQL 用户定义函数时出现问题【英文标题】:Problems setting up an SQL User-Defined Function in MySQL using the Java Language 【发布时间】:2011-11-01 04:48:21 【问题描述】:

我在尝试用 Java 为我的 mysql 服务器创建用户定义函数 (UDF) 时遇到了相当大的困难。我希望我能在这个问题上寻求一些帮助。

这是我到目前为止所做的:

我已按照on a Planet MySQL post 的说明进行操作,但我担心它可能已过时,因为插件文件不包含本教程中预期存在的 psm_java.so 文件。

我需要在给定两个字符串的 Java 中实现 Levenshtein 距离,以便我可以返回该值。我知道怎么做那部分,但是我还不能做 SQL 交互部分。

非常感谢任何帮助。

系统信息:

Mac OS X 10.7.2 MySQL 5.5.16

【问题讨论】:

如果重要的话……我大约在 2 年前做过这个(我使用了 C udf),但发现它并没有那么快。然后我尝试了近似字符串连接,它们也没有那么快。对我来说,将结果集拉入 JEE 容器并在那里进行 Levenshtein 会更快。 很遗憾,这是一个项目任务,需要我以这种方式处理数据。 我将如何在 C 中做这件事?我在我的 Mac 上,所有教程似乎都指向 Visual C++ 是继续进行所必需的。 你必须使用 Levenshtein 还是 Jaro Winkler(顺便说一句.. 我认为 Jaro 更好)工作? 不幸的是,要求是计算 Levenshtein 距离,仅此而已。 【参考方案1】:

为什么要脱离 RDBMS?你可以很容易地实现Levenshtein distance in a MySQL UDF。

【讨论】:

谢谢!我的要求是用 C 或 C++ 完成,但我很感激。

以上是关于使用 Java 语言在 MySQL 中设置 SQL 用户定义函数时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

怎么在mysql的字段中设置默认值

如何在 MySQL 8 的 my.cnf 中设置 sql_mode?

在 SQL 表中设置日期格式 dd/mm/yyyy

关于mysql中设置编码的重要性

创建数据库时是不是需要在 MySQL 中设置 DEFAULT CHARSET?

在 Dockerfile 中设置 MySQL 并导入转储