pvaldes escribiste:Eso dependería de la estructura de nuestra base de datos
Supongamos lo que ha planteado victorhugo: una base de datos con diez tablas, que supondremos que se llaman A, B, C, D,... y todas las tablas tiene varios campos, pero solo nos interesa uno de ellos llamado 'nombre'. Y lo que queremos es encontrar todos los registros de todas las tablas cuyo 'nombre' sea 'víctor'. ¿Cómo se haría con JOIN?
pvaldes escribiste:bueno, es cierto que no contaríamos con la ventaja de los índices de la base de datos pero podríamos haber volcado selectivamente al fichero, filtrando los datos primero, y eso podría facilitar la cosa. En cualquier caso Perl es rápido procesando texto, todo depende del tiempo que se tarde en dar con la query adecuada.
En la inmensa mayor parte de las ocasiones, no es así. En mis 12 años de experiencia con Perl, solo en 1 ocasión tuve que hacer eso, pero era porque la base de datos no tenía los índices bien optimizados.
En todos los demás casos, el motor de la base de datos siempre es más rápido que bajar, filtrar y procesar por parte de Perl. Solo es cuestión de encontrar la sentencia SQL adecuada.
pvaldes escribiste:Sería bueno tener en mente la idea de que Perl no buscará en TODAS las tablas de la base de datos en cualquier caso, especialmente en las de sistema.
¿Tablas del sistema? ¿De qué estás hablando? Aquí se está planteando el caso de una aplicación de usuario de la que se supone que hay que sacar información de todas las tablas. Y nada más...