I have a MySQL Table with 78000 rows. I'm using GROUP_CONCAT(IF()) to make a pivot table, but it takes about 12 sec to load data. So how can I improve the SELECT query for a faster result? Many thanks!
SELECT view.Name, view.Produkt, view.Datei,view.Produktinformation, view.SWLadeliste
,GROUP_CONCAT(IF(view.VersionNr = '2.0.5',view.Informationen,NULL)) AS '2.0.5' ,GROUP_CONCAT(IF(view.VersionNr = '2.1.3',view.Informationen,NULL)) AS '2.1.3' ,GROUP_CONCAT(IF(view.VersionNr = '2.1.1',view.Informationen,NULL)) AS '2.1.1' ,GROUP_CONCAT(IF(view.VersionNr = '2.1.2',view.Informationen,NULL)) AS '2.1.2' ,GROUP_CONCAT(IF(view.VersionNr = '2.2.3',view.Informationen,NULL)) AS '2.2.3' ,GROUP_CONCAT(IF(view.VersionNr = '2.3.2',view.Informationen,NULL)) AS '2.3.2'
FROM (( SELECT table_name.ID, ge.Name , rela_table_name.RDA_Produkt AS Produkt, table_name.Datei, infor.Beschreibung AS Produktinformation,rela_table_name.VersionNr, rela_table_name.Versionen_Projekt, rela_table_name.Informationen, table_name.SWLadeliste, rela_table_name.geplant, rela_table_name.ausgeliefert, rela_table_name.ggf_geplant, rela_table_name.zurueckgezogen,rela_table_name.Versionen_ID FROM spnversionsverwaltung.geräte as ge , spnversionsverwaltung.informationen as infor,spnversionsverwaltung.RDA_version_rela as rela_table_name,spnversionsverwaltung.RDA as table_name WHERE table_name.Geräte_ID = ge.ID and infor.ID = table_name.Informationen_ID and rela_table_name.RDA_ID = table_name.ID ORDER BY rela_table_name.Versionen_ID asc)
UNION ALL( SELECT table_name.ID, ge.Name , rela_table_name.Tools_Produkt AS Produkt, table_name.Datei, infor.Beschreibung AS Produktinformation,rela_table_name.VersionNr, rela_table_name.Versionen_Projekt, rela_table_name.Informationen, table_name.SWLadeliste, rela_table_name.geplant, rela_table_name.ausgeliefert, rela_table_name.ggf_geplant, rela_table_name.zurueckgezogen,rela_table_name.Versionen_ID FROM spnversionsverwaltung.geräte as ge , spnversionsverwaltung.informationen as infor,spnversionsverwaltung.Tools_version_rela as rela_table_name,spnversionsverwaltung.Tools as table_name WHERE table_name.Geräte_ID = ge.ID and infor.ID = table_name.Informationen_ID and rela_table_name.Tools_ID = table_name.ID ORDER BY rela_table_name.Versionen_ID asc)
UNION ALL( SELECT table_name.ID, ge.Name , rela_table_name.Doku_Produkt AS Produkt, table_name.Datei, infor.Beschreibung AS Produktinformation,rela_table_name.VersionNr, rela_table_name.Versionen_Projekt, rela_table_name.Informationen, table_name.SWLadeliste, rela_table_name.geplant, rela_table_name.ausgeliefert, rela_table_name.ggf_geplant, rela_table_name.zurueckgezogen,rela_table_name.Versionen_ID FROM spnversionsverwaltung.geräte as ge , spnversionsverwaltung.informationen as infor,spnversionsverwaltung.Doku_version_rela as rela_table_name,spnversionsverwaltung.Doku as table_name WHERE table_name.Geräte_ID = ge.ID and infor.ID = table_name.Informationen_ID and rela_table_name.Doku_ID = table_name.ID ORDER BY rela_table_name.Versionen_ID asc)
) AS view
GROUP BY view.Produkt, view.Datei
ORDER BY view.Name asc, view.Produkt asc
Aucun commentaire:
Enregistrer un commentaire