\D
соответствует нецифровым символам, поэтому вы можете сделать это:
with t(id, eventname) as (
select 1, 'BIRTHDAY' from dual union all
select 2, '4040404' from dual union all
select 3, '404' from dual union all
select 4, '404 PQR' from dual union all
select 5, 'NAMEDAY' from dual )
select t.*,
case
when regexp_like(eventname, '\D') then 'OTHER'
when to_number(eventname) > 200000 then 'OFFER OVER 200'
else 'OFFER BELOW 200'
end type
from t
Результат:
ID EVENTNAME TYPE
------ --------- ---------------
1 BIRTHDAY OTHER
2 4040404 OFFER OVER 200
3 404 OFFER BELOW 200
4 404 PQR OTHER
5 NAMEDAY OTHER
Когда Вы храните файл, сделайте символьную ссылку на вторую структуру каталогов, которая организована по дате, не по имени.
Получите свои файлы с помощью структуры "имени", удалите их использующий структуру "даты".
Принятие этого является ext2/3, который Вы попытались добавить в индексируемых каталогах? Когда у Вас будет большое количество файлов в каком-то конкретном каталоге, поиск будет мучительно не спешить удалять что-то.
используйте tune2fs-o dir_index для включения dir_index опции.
При монтировании файловой системы удостоверьтесь, что использовали noatime опцию, которая мешает ОС обновить информацию о времени доступа для каталогов (все еще должен изменить их).
Рассмотрение исходного сообщения, которым кажется, как будто у Вас только есть 2 уровня абстракции в файлы, что означает, что у Вас может быть огромное количество файлов в листовых каталогах. Когда будет больше чем миллион записей в них, Вы найдете, что поиски и изменения являются ужасно медленными. Альтернатива должна использовать более глубокую иерархию каталогов, сокращая количество объектов в каком-то конкретном каталоге, поэтому уменьшая стоимость поиска и обновлений конкретного отдельного каталога.
Reiserfs относительно эффективен при обработке маленьких файлов. Вы пробовали различные файловые системы Linux? Я не уверен в, удаляют производительность - можно рассмотреть форматирование (mkfs) вместо отдельного удаления файла. Например, можно создать другую файловую систему (cache1, cache2...) в течение каждого рабочего дня.
Как насчет этого:
Как насчет того, чтобы иметь таблицу в Вашей базе данных, которая использует хеш в качестве ключа. Другое поле затем было бы названием файла. Тем путем файл может храниться связанным с датой способом для быстрого удаления, и база данных может использоваться для нахождения что файл, основанный на местоположении на хеше в быстрой моде.