La respuesta corta es 'No.' No existe actualmente ninguna estructura de índice disponible en ninguna plataforma DBMS que indexe las coincidencias parciales de una expresión regular como esta.
La respuesta larga es que una constante inicial en una coincidencia de comodín (por ejemplo, 'foo_'
) se puede usar como un prefijo para las coincidencias de índice. Muchas plataformas DBMS optimizarán esto y usarán un índice (si está disponible) para resolver el prefijo. Sin embargo, esto no es nada tan inteligente como una expresión regular completa, y la indexación solo se puede usar si tienes un prefijo constante.
La respuesta incluso más larga es que hay algoritmos como RETE que optimizarán las coincidencias parciales como esta. Esto podría aplicarse si puede expresar sus coincidencias como reglas de producción de encadenamiento directo en lugar de expresiones regulares.
Rete funciona al calcular las coincidencias parciales y solo presenta las reglas que se pueden alcanzar con esta coincidencia parcial, por lo que es más eficiente que O (n) (más como O (log n) pero no estoy seguro de la complejidad de tiempo) para emparejar n reglas contra un hecho.