MySQLの5.7から8に移行中での出来事で、ストアドが2秒程度で結果が返ってたのが、20秒程度かかってしまうので、
先日行った OSC2019 Tokyo Fall でMySQLのブースにいた人に聞いてみて、直してみると、改善できました。
全角文字を扱わない場合、文字コードは指定しない方がいいです。
< Old >
| fc_chgdvessel | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` FUNCTION `fc_chgdvessel`(
`vslnm` varchar(50)
) RETURNS varchar(36) CHARSET utf8
COMMENT '船名記号スペース変換関数'
begin
return REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(vslnm, ' ', ''), '-', ''), '.', ''), '_', ''), '(', ''), ')', ''), '.', '');
end | utf8mb4 | utf8mb4_general_ci | utf8_general_ci |
< New >
| fc_chgdvessel | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` FUNCTION `fc_chgdvessel`(
`vslnm` varchar(50)
) RETURNS varchar(36)
COMMENT '船名記号スペース変換関数'
begin
return REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(vslnm, ' ', ''), '-', ''), '.', ''), '_', ''), '(', ''), ')', ''), '.', '');
end | utf8mb4 | utf8mb4_general_ci | utf8_general_ci |
|
|
