22. januar 2011 - 03:46Der er
8 kommentarer og 1 løsning
Udtræk af database med 200.000 ID'er er for stort
Jeg har en database, hvori der er en tabel der fylder 215 mb.
Jeg har brug for at udtrække samtlige unikke ID'er fra den tabel, der er ca. 196.000, plus 4 - 5 felter fra hvert ID, og loope dem igennem en algoritme.
Men udtrækket er for stort, og intet sker - det fejler bare, uden fejlmelding.
Til at starte med, må jeg sige at jeg ad omveje er havnet i dette her, og at jeg ikke er ekspert - jeg er faktisk bare musiker - men på grund af en række af uheldige omstændigheder er jeg kommet til at hjælpe til på et site med 10.000 brugere. Jeg ANER ikke noget om index, men jeg ved at der kører et script der trimmer databasen dagligt.
Nå - men jeg har lavet et lille script, der skulle tjekke om der var entries i databasen der havde et billede, der ikke fandtes på serveren, og det ser sådan ud:
<?php
include_once ("../includes/db.inc.php");
$positiv = $db->get_results("SELECT id, thumb FROM Tabel"); foreach ( $positiv as $output ){ $id = $output->id; $thumb = $output->thumb;
Jeg fandt dog ud af, at scriptet ville køre, hvis jeg i min select lavede ("SELECT id, thumb FROM Tabel WHERE ID < 100000");
Så det blev ligesom min løsning. Først kørte jeg det med ID < 100000 og derefter med ID > 100000.
Her selecter den så kun to felter, men hver time kører der faktisk et job der selecter fra den samme database, og vælger 4 felter - jeg ved ikke, om det halverer kapaciteten fra 100000 til 50.000?
Uanset hvad, bliver det ikke udført. Og det ved jeg jo hvorfor nu.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.