Quantcast
Channel: SQL.ru: Firebird, InterBase
Viewing all articles
Browse latest Browse all 1677

Серьёзная регрессия регулярных выражений в FB4.0

$
0
0
Простой пример с регулярным выражением, используемым для проверки FQDN:
SELECT _ASCII 'localh' SIMILAR TO
    '([a-zA-Z0-9]{1,63}.|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9].)*([a-zA-Z0-9]{1,63}|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]).?'
  FROM rdb$database
Если один символ ASCII проверяется около 49 наносекунд, то каждый следующий символ увеличивает время выполнения ВДЕСЯТЕРО. Так обработка строки из шести символов занимает уже около 4,9 секунд.

Viewing all articles
Browse latest Browse all 1677

Trending Articles