Problemer med lagring af data i MySQL database

Tags:    php mysql

Eventuelt overload af Mysql?

Hej,

Jeg laver facebooksider for firmaer hvor der fx afholdes konkurrencer. I den forbindelse indsamler jeg grundlæggende kontaktoplysninger som bliver lagret i en MySql database (navn og email).

Jeg benytter mig af en VPS server hvor jeg til hvert firma har oprettet en database med ens tabeller.

Når folk tilmelder sig konkurrencen bliver dataen lagret i en tabel der kaldes: "emails" som skal fungere som en samlet tabel med ALT kundedata. Derudover lagrer jeg også de præcis samme oplysninger, når folk tilmelder dig, i en tabel jeg kalder "draw" som skal fungere som en tabel hvor der udtrækkes en vinder. Grunden til jeg lagrer den samme data i 2 forskellige tabeller, er fordi at indholdet i tabellen "draw" skal kunne slettes når der skal laves nye konkurrencer (Der trækkes nemlig kun lod blandt deltagere af den seneste konkurrence, hvis nogle skulle undre sig over det).

Mit problem er fx ved en af mine databaser, at tabellen "draw" indeholder over 500 rækker, hvorimod tabellen "email" kun indeholder lidt over 100. Jeg lagrer dataen i 2 forskellige queries LIGE efter hinanden når folk tilmelder sig konkurrencen.

Som i kan se i nedenstående kode, bruger jeg funktionen mysqli_insert_id(); til at tage ID'et fra "emails" og smide det over i "draw" for at kunne holde styr på mit dublerede data. Er det en korrekt måde at gøre det på?

Jeg kan altså konstatere ikke alt data bliver sat ind, men noget gør. Er der nogen der har en forklaring på dette? Kan det være MySQL ikke kan håndtere hvis mange tilmelder sig sammentidigt, eller kan det have noget at gøre med at jeg har mange åbne mysql-forbindelser på samme tid?

Håber i forstår hvad jeg mener. Ellers uddyber jeg gerne mere.

Her er det kode jeg bruger når jeg lagere dataen efter den er blevet valideret osv.

Fold kodeboks ind/udPHP kode 




3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hvad siger fejl loggen?
Kan du dumpe tabel strukturerne?




Kunne man ikke blot indsætte en reference i tabellen draw? Det andet virker som lidt af en overhead.

Men ja:

- Hvad siger fejllog?
- Er der mere plads på server?
- Er du kommet til at ændre noget i tabellerne ell. koden i de tidsrum der findes mellem ny- og gamle oprettede sites/kunder/konkurrencer, og ikke har fået synkroniseret din kode og tabeller?



Hvad mener du helt præcist med en reference? Hvordan vil du gøre det?

Jeg synes ikke jeg kan få fejloggen til at vise noget. Måske jeg skal lægge kræfter i, at få den frem.

Men som sagt har jeg mange forskellige databaser med de samme tabeller som jeg opretter via en php-fil som jeg eksekverer således tabellerne bliver oprettet på nøjagtig samme måde hver gang.

Jeg kan via phpmyadmin se at tabellen emails har registreret 123 rækker og derefter vil den ikke indsætte. Hvorimod der er over 500 rækker i tabellen "draw". Det er kun 2 databaser hvor jeg har flere en 100 rækker der er problemer faktisk.



Sådan bliver tabeller oprettet:

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 08.06.2012 17:43 af Bruger #17253
t