Mo. 23.02.2009
00:18 Uhr
#1
- Registriert seit
- 11.03.2006
- Beiträge
- 1.362
- Beitragswertungen
Ich habe eine allgemeine Frage zum oben genannten Thema...
es geht darum eine x beliebiege anzahl an zuffalszahlen in eine datenbank zu schreiben...
das script generiert automatisch zuffalszahlen die eindeutig sind und die es nur einmal gibt im extremfall sind es 100.000 bis 1 million einträge je nachdem was der user auswählt...
ich denke das irgendwann das script oder server sich aufhängt weiters wäre die frage zu klären ob der server wärend den einträgen dann steht und andere einträge die an die datenbank gehen nicht möglich sind...
hat da irgendjemand erfahrung damit??
verwendete ilchClan Version: 1.1
Mo. 23.02.2009
16:19 Uhr
#2
- Registriert seit
- 24.08.2004
- Beiträge
- 10.192
- Beitragswertungen
die sollen vermutlich alle innerhalb weniger (zehntel)sekunden geschrieben werden.
Denke das kommt auf den Server selbst an, also die Hardware.
Und darauf wieviel der Server nebenbei noch leisten muss (bei mehreren Hostings auf einer Maschine).
Ist auf jedenfall ne harte Nummer die den Server an seine grenzen bringt würd ich sagen
Omnia bona erunt
Mo. 23.02.2009
17:21 Uhr
#3
- Registriert seit
- 11.03.2006
- Beiträge
- 1.362
- Beitragswertungen
ja so wie ich es nun in erfahrung gebracht habe gibt es 2 möglichkeiten um daten sehr schnell in eine db zu schreiben... eine davon ist daten in eine text datei zu schreiben und auf einmla rein zu schreiben...
eine schleife die jedesmal jeden genrierten eintrag reinschreibt bricht zusammen....
in der praxis sieht es so aus das ich nicht einfach 1 million daten genrieren kann egal wie toll der code dazu aussieht und die dann in die db schreiben kann... es ist möglich allerdings muss man dann die datenbank änden und komplett auf andere strukturen zurückgreifen... allein die schleife für 1 million daten bricht zusammen wäre nur möglich das wirklich in dotnet zu programmieren... aufwand lohnt nicht...
falls jemand eine andere möglichkeit weiß bitte melden..
fakt ist server hält es aus auch in bruchteil einer sekunde php code NICHT möglich leigt einfach an technologischen grenzen..
schade
Di. 24.02.2009
01:37 Uhr
#4
- Registriert seit
- 23.04.2006
- Beiträge
- 422
- Beitragswertungen
mach doch nach jeden 5000 einträgen ein interval rein das die seite neu laden tut, und dann die nächste schleife mit den 5000 einträgt. wenn 5k nicht schon zuviel ist ka noch nie getestet. ist zwar umständlich aber sollte gehen... und zu dem MySQL naja ich habe schon mal ein fehler in einer schleife gemacht wo da der server sag Timeout! ist auch nicht die schnellste lösung. aber ka was das werden soll... ansosten pack alles in ein Feld mit trennzeichen.
Zuletzt modifiziert von Balthazar3k am 24.02.2009 - 01:42:40
Kein Support für den Raidplaner über PM.
Di. 24.02.2009
03:13 Uhr
#5
- Registriert seit
- 11.03.2006
- Beiträge
- 1.362
- Beitragswertungen
also prinzipell ist das problem noch ein anderes beim schrittweiten (also alle 5000 einträge ) in die db schreiben. Was ist wenn der user die generierung abricht.. dann müssen die von ihm erstellten einträge wieder raus. der seitenreload ist nett gemeint in der praxis aber nicht durchführbar...
kein mensch der welt wartet zich seitenreloads ab...
ich denke mittlerweile das problem muss von einer anderen seite angegangen werden auch für 2 millionen zufallszahlen darf es nur 1 eintrag geben....
an der lösung und besonders auch an der umsetzung muss ich noch feilen...
das problem ist einfach bei allen einträgen macht die mysql einen block der tabelle was kein weiteres schreiben zuläßst deshalb muss die zeit IMMER so klein wie möglich sein...
naja aber bitte weiter diskutieren auch vielleicht andere lösungsansätze..
danke euch