Heej!
Ik heb hier een database met ong. 18000 klanten welke door de jaren via een website gevuld is. De klanten hebben zelf de mogelijkheid om zich uit te schrijven. Op dat moment wordt de klant ook echt verwijderd, alleen worden de koppeltabellen (waar info over de desbetreffende klant) instaat wèl bewaard. Dit was natuurlijk niet nodig, en met zo af en toe een bugfix zijn de ergste fouten weggehaald. Ondertussen is de database vervuild met allerlei informatie die er in principe niet meer toe doet. Deze wil ik alsnog verwijderen.
Heb hiervoor in php een script geschreven. Ik lees de klantentabel uit, en stop alle klanten id's in een array. Die array is op dat moment gevuld met 18000 id's. Vervolgens vul ik een andere array met de klanten id's uit de koppeltabellen... en vergelijk deze twee arrays met elkaar dmv de functie 'array_diff()'. De array die overblijft zijn klanten die nog wel in de koppeltabellen staan, maar niet meer in de klantentabel. Vanaf hier kan ik deze info 1..2..3 verwijderen.
Dit gaat allemaal goed, maar duurt alleen erg lang. Vaak loopt mijn computer vast omdat al die volgepropte array's teveel geheugen slurpen. Is er een manier om snel je database te doorzoeken op 'verdwaalde' info.
Thx
Ik heb hier een database met ong. 18000 klanten welke door de jaren via een website gevuld is. De klanten hebben zelf de mogelijkheid om zich uit te schrijven. Op dat moment wordt de klant ook echt verwijderd, alleen worden de koppeltabellen (waar info over de desbetreffende klant) instaat wèl bewaard. Dit was natuurlijk niet nodig, en met zo af en toe een bugfix zijn de ergste fouten weggehaald. Ondertussen is de database vervuild met allerlei informatie die er in principe niet meer toe doet. Deze wil ik alsnog verwijderen.
Heb hiervoor in php een script geschreven. Ik lees de klantentabel uit, en stop alle klanten id's in een array. Die array is op dat moment gevuld met 18000 id's. Vervolgens vul ik een andere array met de klanten id's uit de koppeltabellen... en vergelijk deze twee arrays met elkaar dmv de functie 'array_diff()'. De array die overblijft zijn klanten die nog wel in de koppeltabellen staan, maar niet meer in de klantentabel. Vanaf hier kan ik deze info 1..2..3 verwijderen.
Dit gaat allemaal goed, maar duurt alleen erg lang. Vaak loopt mijn computer vast omdat al die volgepropte array's teveel geheugen slurpen. Is er een manier om snel je database te doorzoeken op 'verdwaalde' info.
Thx