Ik heb een website die gebuik maakt van een PostgreSQL database.
Door het toch wel grote snelheidsverschil tussen Postgres en MySQL wil ik alle data vanuit Postgres omzetten naar MySQL.
Het overzetten van de data is geen probleem, maar de queries wel. Het lijkt erop dat MySQL 4.1 toch nog niet helemaal goed overweg kan met subselects, of ik kijk ergens overheen.
Het gaat om onderstaande query :
Deze query geeft in Postgres het gewenste resultaat, nml : 12 rijen met de waarde 22.
Het resultaat in MySQL is : 1 rij met de waarde 22 en 22 rijen met de waarde NULL
In de manual van MySQL staat nauwelijks iets over het gebruik van subselects in. Het enige wat ik daar heb gevonden is info over het herschrijven van een subselect naar een query met joins.
De tabel wed_zaterdag1_s0203 ziet er als volgt uit :
Wil ik te veel doen met MySQL
of zit er een foutje in de query ??
Door het toch wel grote snelheidsverschil tussen Postgres en MySQL wil ik alle data vanuit Postgres omzetten naar MySQL.
Het overzetten van de data is geen probleem, maar de queries wel. Het lijkt erop dat MySQL 4.1 toch nog niet helemaal goed overweg kan met subselects, of ik kijk ergens overheen.
Het gaat om onderstaande query :
PHP:
1
2
3
4
5
6
7
| SELECT team_id, ( SELECT count( thuis_uitslag ) FROM wed_zaterdag1_s0203 WHERE thuis_wed = t.team_id OR uit_wed = t.team_id ) AS wd FROM teams_s0203 t WHERE klasse_id = 1 |
Deze query geeft in Postgres het gewenste resultaat, nml : 12 rijen met de waarde 22.
Het resultaat in MySQL is : 1 rij met de waarde 22 en 22 rijen met de waarde NULL
In de manual van MySQL staat nauwelijks iets over het gebruik van subselects in. Het enige wat ik daar heb gevonden is info over het herschrijven van een subselect naar een query met joins.
De tabel wed_zaterdag1_s0203 ziet er als volgt uit :
PHP:
1
2
3
4
5
6
7
8
9
10
| id mediumint(9) wd mediumint(9) datum date thuis_wed tinyint(4) uit_wed tinyint(4) thuis_uitslag smallint(6) uit_uitslag smallint(6) verslag text opmerking text titel text |
Wil ik te veel doen met MySQL