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 |
|