sql - MySQL Join and Union Optimization -


i have sql , goes thought, guess there better way write in order avoid repetitive sentences , increase performance.

any suggestions?

create or replace view tx_oriconvocatorias_consultas select pubs.*, pais.nombre_es area, group_concat(distinct linea_es order linea_es separator '\n') linea_es, group_concat(distinct modalidad_es order modalidad_es separator '\n') modalidad_es, group_concat(distinct orgs.nombre_es order orgs.nombre_es separator '\n') organizacion_es tx_oriconvocatorias_publicadas pubs  inner join tx_oriconvocatorias_publicadas_lineas_mm ml on ml.uid_local=pubs.uid  inner join tx_oritablascomunes_lineas lins on ml.uid_foreign=lins.uid  inner join tx_oriconvocatorias_publicadas_modalidades_mm mm on mm.uid_local=pubs.uid  inner join tx_oritablascomunes_modalidades mods on mm.uid_foreign=mods.uid  inner join tx_oriconvocatorias_publicadas_organizaciones_mm mo on mo.uid_local=pubs.uid  inner join tx_oritablascomunes_organizaciones orgs on mo.uid_foreign=orgs.uid  inner join tx_oritablascomunes_paises pais on pubs.carea = concat('tx_oritablascomunes_paises_',pais.uid) group uid  union  select pubs.*, regs.nombre_es area, group_concat(distinct linea_es order linea_es separator '\n') linea_es, group_concat(distinct modalidad_es order modalidad_es separator '\n') modalidad_es, group_concat(distinct orgs.nombre_es order orgs.nombre_es separator '\n') organizacion_es  tx_oriconvocatorias_publicadas pubs  inner join tx_oriconvocatorias_publicadas_lineas_mm ml on ml.uid_local=pubs.uid  inner join tx_oritablascomunes_lineas lins on ml.uid_foreign=lins.uid  inner join tx_oriconvocatorias_publicadas_modalidades_mm mm on mm.uid_local=pubs.uid  inner join tx_oritablascomunes_modalidades mods on mm.uid_foreign=mods.uid  inner join tx_oriconvocatorias_publicadas_organizaciones_mm mo on mo.uid_local=pubs.uid  inner join tx_oritablascomunes_organizaciones orgs on mo.uid_foreign=orgs.uid  inner join tx_oritablascomunes_regiones regs on pubs.carea = concat('tx_oritablascomunes_regiones_',regs.uid) group uid 

yes. use view collect sql common both queries:

create view pub_orgs select * tx_oriconvocatorias_publicadas pubs inner join tx_oriconvocatorias_publicadas_lineas_mm ml on ml.uid_local=pubs.uid inner join tx_oritablascomunes_lineas lins on ml.uid_foreign=lins.uid inner join tx_oriconvocatorias_publicadas_modalidades_mm mm on mm.uid_local=pubs.uid inner join tx_oritablascomunes_modalidades mods on mm.uid_foreign=mods.uid inner join tx_oriconvocatorias_publicadas_organizaciones_mm mo on mo.uid_local=pubs.uid inner join tx_oritablascomunes_organizaciones orgs on mo.uid_foreign=orgs.uid; 

then build unioned queries this


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -