Regexp в 9.2.0.8

Orahome92
Дата: 25.03.2011 09:43:54
Для девятки, насколько я знаю, можно использовать owa_pattern, но оно сильно тормозит...
вот подумал на счет джавы... что можно использовать из стандартного?

обнаружил в all_objects такие обекты типа JAVA CLASS:

sun/misc/Regexp
sun/misc/RegexpNode
sun/misc/RegexpPool
sun/misc/RegexpTarget

Что это за звери, и можно ли их как нибудь использовать?
Sayan Malakshinov
Дата: 25.03.2011 10:30:54
Orahome92, насколько тормозит? не думаю, что с java будет быстрее, но вот тут пример можно посмотреть: http://github.com/xtender/XT_REGEXP
Orahome92
Дата: 25.03.2011 12:36:08
Ну заметно тормозит... табличка 5000 строк обрабатывается несколько секунд для шаблона средней сложности, сред. длина самих обрабатываемых строк =11). Значит для мильёна строк такая техника не применима.

Чисто субъективно - regexp_replace на 10-ке на порядок или 2 быстрее....
Elic
Дата: 25.03.2011 12:44:14
Orahome92
Чисто субъективно - regexp_replace на 10-ке на порядок или 2 быстрее....
Всего делов-то осталось - сменить home.
orawish
Дата: 25.03.2011 12:49:14
Orahome92,

свой шаблон средней сложности не покажете?
env
Дата: 25.03.2011 12:51:09
orawish,

'^(средняя сложность)?'
Orahome92
Дата: 25.03.2011 14:17:19
'.+№\d{3,}' - скорость примерно тыща строк (по 11чаров в среднем) в секунду...
я бы даже сказал, что это сложность ниже средней...
в реальных задачах будет сложнее, но и тут уже медленно получается.

а сменить home это кнешно хорошо бы ;) но не предвидится пока, по независящим от меня причинам...
Elic
Дата: 25.03.2011 15:33:59
Orahome92
'.+№\d{3,}' - скорость примерно тыща строк (по 11чаров в среднем) в секунду...
Дарю:
translate(s, '123456789', '000000000') like '_%№000%'
orawish
Дата: 25.03.2011 17:57:12
Elic
Orahome92
'.+№\d{3,}' - скорость примерно тыща строк (по 11чаров в среднем) в секунду...
Дарю:
translate(s, '123456789', '000000000') like '_%№000%'

 instr(translate(s, '123456789', '000000000'),'№000') > 1 
:)
Elic
Дата: 25.03.2011 18:05:27
orawish,

Ага, оптимизированнее :)