首页 > 解决方案 > MySQL - 替代运行多个(自定义)函数?

问题描述

我目前在 MySQL 查询中有两个自定义函数:

proper将任何文本转换为正确的大小写格式 (john smith -> John Smith)

HTML_Unencode解码 HTML 实体 (BB 'T -> BB&T)。

当我同时运行两者时,查询运行时间几乎翻了一番。我需要一个可以在当前查询中运行的解决方案。有什么建议么?

SELECT
proper(HTML_UnEncode(`order`.`shipping_city`)) AS `City`
FROM `order`

输入

Queébec

输出

Québec

标签: mysql

解决方案


如何在查询时执行两者的功能properHTML_UnEncode更快?我不知道。

但是 - 我强烈建议不要在查询时这样做。您插入一行一次,但查询它很多次。所以在插入时支付费用。

换句话说 - 如果可以的话 - 宁可存储Québec(而不是Québec)到表中。那么您的查询既简单又快得多

SELECT
  `order`.`shipping_city` AS `City`
FROM `order`

推荐阅读