ник: osmor
условие (сильно упрощено, для понимания сути):
Есть 2 таблицы.
Таблица 1
Тип - Long
Алиас - String
Пример данных:
Код | Алиас
1 | NF-kappaG
1 | ABC(45)
2 | NF-kappaG
2 | ABC(45)
|
Таблица 2
Тип (из таблицы 1) - Long
Старое значение
Новое значение
Пример данных:
Тип | Старое | Новое
1 | - |
1 | ( |
1 | ( |
1 | G | @
2 | - | +
2 | kappa |
|
Где в поле "Новое" ничего нет, это значит там пробел
Нужно заменить в исходном Алиасе старые символы на новые согласно типу. Т.е. после обработки в таблице 1 должно получиться
Код | Алиас
1 | NF kappa@
1 | ABC 45
2 | NF+G
2 | ABC(45)
|
Размер исходный таблицы разный от 2 тыс. до 30 тыс. записей
операция НЕ РАЗОВАЯ, т.е. время имеет значение
Вопрос:
Как бы все это "заоптимизировать"
У кого есть опыт?
Как лучше заменять каждый символ отдельно или написать функцию которая будет за один раз заменять все символы и только потом записывать и переходить к новой строке?
Что быстрее RegExp или Replace или MID?
В общем интересны любые предложения как, кто стал бы решать такую задачу.
Призовой вопрос.
Кроме всего прочего нужно разделить "группы типов" символов пробелом.
"группы типов" - это:
1 - все буквы
2 - все цифры
3 - все не буквенные символы
т.е. строка
привет123@123привет!?
должна превратиться в
привет 123 @ 123 привет !?
Тоже нужны идеи (пока есть только одна, проверять символ и следующий за ним на соответствие группе и вставлять пробел если группа изменилась, но думаю что на 30 тыс записей по 100 символов будет ОЧЕНЬ долго)