hallo miteinander
ich hoffe ich belaste nicht mit fragen, die in der suchi zu finden gewesen wären, aber ich habe gesucht und nichts gefunden.
hat jemand erfahrung mit maximal möglicher datenmenge und "select-komplexität" bei einer mysql-datenbank?
ich habe konkret folgendes problem:
ich möchte einen "select distinct" über drei tabellen. eine tabelle ist eine simple typ 1 (1,1) beziehung, die andere eine multiple (1,n).
folgende query verwende ich somit:
select distinct a.*, b.*
from a, b, c
where a.primarykey=b.foreignkey
and a.primarykey=c.foreignkey
and c.irgendwas=[argument]
order by a.irgendwas
tabelle a und b besitzen je ca 6500 datensätze, tabelle c ca. 13000. leider läuft diese query sozusagen EWIG. die ausführungszeit ist indiskutabel lange. ich weiss nicht auf welcher hardware die db läuft (hosting). kann es sein, dass der db-server dermassen lahm ist oder ist mysql einfach überfordert? manchmal verabschiedet sich die db dabei sogar, dass heisst ich komme mit phpmyadmin nicht mal mehr auf meine datenbank. ich könnte noch diverse zusätzliche indexes setzten, glaube aber nicht, dass das besonders viel bringt.
ein vergleichbares statement zum auszählen der datensätze läuft ebenfalls verdächtig lange:
select count(distinct a.primarykey)
from a, b, c
where a.primarykey=b.foreignkey
and a.primarykey=c.foreignkey
and c.irgendwas=[argument]
lieben dank für eure unterstützung
gruss aus der schweiz
himac
ich hoffe ich belaste nicht mit fragen, die in der suchi zu finden gewesen wären, aber ich habe gesucht und nichts gefunden.
hat jemand erfahrung mit maximal möglicher datenmenge und "select-komplexität" bei einer mysql-datenbank?
ich habe konkret folgendes problem:
ich möchte einen "select distinct" über drei tabellen. eine tabelle ist eine simple typ 1 (1,1) beziehung, die andere eine multiple (1,n).
folgende query verwende ich somit:
select distinct a.*, b.*
from a, b, c
where a.primarykey=b.foreignkey
and a.primarykey=c.foreignkey
and c.irgendwas=[argument]
order by a.irgendwas
tabelle a und b besitzen je ca 6500 datensätze, tabelle c ca. 13000. leider läuft diese query sozusagen EWIG. die ausführungszeit ist indiskutabel lange. ich weiss nicht auf welcher hardware die db läuft (hosting). kann es sein, dass der db-server dermassen lahm ist oder ist mysql einfach überfordert? manchmal verabschiedet sich die db dabei sogar, dass heisst ich komme mit phpmyadmin nicht mal mehr auf meine datenbank. ich könnte noch diverse zusätzliche indexes setzten, glaube aber nicht, dass das besonders viel bringt.
ein vergleichbares statement zum auszählen der datensätze läuft ebenfalls verdächtig lange:
select count(distinct a.primarykey)
from a, b, c
where a.primarykey=b.foreignkey
and a.primarykey=c.foreignkey
and c.irgendwas=[argument]
lieben dank für eure unterstützung
gruss aus der schweiz
himac
Kommentar