maria-discuss team mailing list archive
-
maria-discuss team
-
Mailing list archive
-
Message #06477
Re: MariaDB 10.5.18: Performance-Problems with CONCAT
Hi, Johannes,
Try the next release (expected in about a month) where
https://jira.mariadb.org/browse/MDEV-29988 is fixed.
Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx
On Jan 04, Johannes Ody wrote:
> I'm german. Please excuse my bad english.
> MariaDB version 10.5.18 is much slower than version 10.5.16 in
> string-manipulation (CONCAT).
> In version 10.5.16 my code in the bottom needs for 800 records in
> tmp_tartikel_live 1-2 seconds.
> In version 10.5.18 my code needs for 800 records in tmp_tartikel_live
> 20-30 seconds.
> In version 10.5.16 my code needs for 26000 records in tmp_tartikel_live
> 5-6 minutes. It is ok.
> In version 10.5.18 my code needs for 26000 records in tmp_tartikel_live
> more than 2 hours and
> was terminating by the system and was not ready.
> The execution-time glows much more than linear.
> The calling script is internal for maintenance-work at night.
> The purpose of this code is to build our search-tables in MySQL
> (concordance).
> The code must work for strings with special characters in the
> coding-systems html (è), ansi and utf-8.
> In german and france we have the special characters:
> ß
> ü
> ö
> äàá
> èé
> and so on.
>
> I have found other users with performance-problems in MariaDB version
> 10.5.18, and they also use CONCAT:
> https://dba.stackexchange.com/questions/284073/query-performance-drop-after-upgrade-to-mariadb-10-5-group-concat-join
>
> My code is the following:
> /*#JODY_20221010
> Die Datenbank muss fuer diesen Code auf
> Kollektion=latin1_swedish_ci eingestellt sein.
> ALTER DATABASE d03a5b1c COLLATE latin1_swedish_ci;
> Das CHARACTER SET scheint nicht so wichtig zu sein.
> */
>
> /*
> #JODY_20211228 (ACHTUNG): Diese Datei muss ASCII-Codiert sein
> (nicht UTF8)
> Funktion zum Loeschen von HTML-Tags. Kann nur vom browser aus
> installiert werden.
> * /
> DROP PROCEDURE IF EXISTS mysql_log;*/
> DROP FUNCTION IF EXISTS mysql_striptags;
> DROP FUNCTION IF EXISTS mysql_replace_utf8_sonderzeichen;
> DROP FUNCTION IF EXISTS mysql_replace_single_char;
> DROP FUNCTION IF EXISTS mysql_replace_char;
> DROP FUNCTION IF EXISTS mysql_replace_umlaute;
> /*DROP FUNCTION IF EXISTS mysql_delete_fuellwoerter;*/
>
> DELIMITER $$
>
> /*CREATE PROCEDURE mysql_log(strText VARCHAR(255))
> BEGIN
> INSERT INTO debugout(cText) VALUES (strText);
> END$$*/
>
> CREATE FUNCTION mysql_striptags(strParam TEXT)
> RETURNS TEXT
> DETERMINISTIC
> BEGIN
> DECLARE str TEXT;
References