#performance #csv #mariadb #comma #longtext
Вопрос:
У меня есть строка с ДЛИННЫМ текстом « A20210917_0701000,B20210917_0701033,A20210917_0703067, ......
» (стиль CSV)
Данные находятся в одной строке (одном столбце). И он содержит элементы до 350 000
В приведенном выше случае, как это …
Element #1 = A20210917_0701000
Element #2 = B20210917_0701033
...
Element #350,000 = A20210917_2232072
НО… проблема в том…
SET @ABC = (SELECT MyLongColumn FROM MyTable ORDER BY MyCond LIMIT 1); -- THIS IS NO PROBLEM, FAST LOADED.
Но из-за этого ДЛИННОГО текста все SQL работает СЛИШКОМ МЕДЛЕННО.
SELECT LENGTH(@ABC) - LENGTH(REPLACE(@ABC, ',', '')); -- THIS SIMPLE SQL COMMAND TOOKS 90 SECONDS.
SELECT REPLACE(@ABC, ',', '::'); -- THIS SIMPLE SQL COMMAND TOOKS ABOUT 5~6 MINUTE
SELECT REPLACE(@ABC, ',', ':'); -- THIS EXECUTED FAST !! (Under 100ms)
Я ХОЧУ, ЧТОБЫ ВСЕ ЭТИ ЭЛЕМЕНТЫ БЫЛИ СОХРАНЕНЫ В ВИДЕ ТАБЛИЦЫ.
подобный этому.
VALUE
A20210917_0701000 (Row #1)
B20210917_0701033 (Row #2)
...
A20210917_2232072 (Row #350000)
Я использую MariaDB 10.3.11.
Есть ли какое-нибудь решение? (производительность)