Problemen met een Query/subquery iets wat er op lijkt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marcel Santing

Marcel Santing

07/03/2011 15:45:23
Quote Anchor link
Mijn vraag is het volgende:

Ik heb een set gegevens in mijn database die megagroot is. Wanneer ik een innerjoin doe hou ik nog steeds iets van 60 milioen records over. 2500*36447

Ik heb 2 tabellen Tabel a en tabel b

SELECT GEGEVEN1, GEGEVEN2, tabelb.NAAM1 AS NAAM1, tabelb.NAAM2 AS NAAM2,
FROM tabel a
LEFT JOIN tabel b ON
tabel a.GEGEVEN1 BETWEEN `tabelb`.`VAN` AND `tabelb`.`TOT`
WHERE (bepaalde voorwaarden waarop ik kan filteren)

Het probleem is ondanks alles wat ik filter deze query gewoon te veel tijd nodig heeft om dit uit te voeren. (met 2,5 uur was hij nog niet klaar.)

Wanneer ik bijvoorbeeld Gegeven1 zou invullen zoekt hij alleen maar 36447 records af.

Mijn probleem is dat Gegeven1 soms wel 200 tot 3000 records kan bevatten, dus reken maar uit.

Nu heb ik dat clever overwonnen door in PHP het volgende te doen

Eerst maak ik een query met alleen de gegevens:

SELECT gegeven1
FROM tabela
WHERE voorwaarde1 = 'iets' AND voorwaarde2 = 'nogiets' AND voorwaarde3 = 'iets'

Deze $results stop ik in een nieuwe query

while ($row = mysql_fetch_assoc($result))
{
$sql2 ="GEGEVEN1, GEGEVEN2, tabelb.NAAM1 AS NAAM1, tabelb.NAAM2 AS NAAM2,
FROM tabel a
LEFT JOIN tabel b ON
tabel a.GEGEVEN1 BETWEEN `tabelb`.`VAN` AND `tabelb`.`TOT`
WHERE voorwaarde1 = 'iets' AND voorwaarde2 = 'nogiets' AND voorwaarde3 = 'iets' AND gegeven1 ='".$row["gegeven1"]."'";

$result_naam = mysql_query(sql2);
Nog een fetchrow
data echoën
Vrij maken
en klaar

Op deze manier heb ik nu wel de join snel en goed kunnen regelen, maar je snapt het al ik kan niet sorteren of groeperen om dat hij elke waarde uit gegeven1 weer in de loop gooit en ik zo niet 1 query uitvoer maar het aantal wat in de $result wordt weergegeven.

Maar ik wil op groeperen op naam 1 om het overzichtelijker te houden.

Wie o wie kan mij op weg helpen.

PS ben een Noob, dus lach me niet uit.

Toevoeging op 08/03/2011 12:38:50:

Niemand???
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.