nach inserts -> server has done away
norman
- datenbank
0 wahsaga0 norman
0 Philipp Hasenfratz0 norman
hallo!
ich hab da leider ein problem mit inserts.
INSERT IGNORE INTO tabelle (spalte) VALUES ('A')
die tabellenstruktur sieht so aus:
id (auto_incr, PRIMARY KEY) | spalte (VARCHAR, INDEX UNIQUE)
die inserts werden sehr schnell durch ein script in die db geblasen. ich prüfe aus performancegründen nicht ständig ob es den spaltenwert schon gibt, sondern nutze IGNORE.
nach ca. zehn inserts gibt mysql auf: server has done away.
vielleicht "verträgt" der mysql die vielen inserts auf einmal nicht... (zusammenfassen der inserts ist aber nicht möglich)
hat jemand eine idee?
gruß,
norman
hi,
die inserts werden sehr schnell durch ein script in die db geblasen. ich prüfe aus performancegründen nicht ständig ob es den spaltenwert schon gibt, sondern nutze IGNORE.
nach ca. zehn inserts gibt mysql auf: server has done away.
vielleicht "verträgt" der mysql die vielen inserts auf einmal nicht... (zusammenfassen der inserts ist aber nicht möglich)
schon mal versucht, mit INSERT DELAYED zu arbeiten?
http://www.mysql.com/doc/de/INSERT_DELAYED.html
(k.A. ob's hier hilft, schuss ins blaue ...)
gruss,
wahsaga
hi wahsaga,
habs schon mit delayed ausprobiert, funkt leider auch nicht.
dann hab ichs mit ner verzögerung nach jedem insert probiert:
for my $i (0..10000) {}, funkt leider auch nicht. irgend wie gehts nicht mehr weiter :-(
gruß
normAN
Halihallo norman
die inserts werden sehr schnell durch ein script in die db geblasen. ich prüfe aus performancegründen nicht ständig ob es den spaltenwert schon gibt, sondern nutze IGNORE.
http://www.mysql.com/doc/en/REPLACE.html ist in den meisten
Fällen die "sicherere" Variante, jedoch müsstest du dann spalte
als PRIMARY KEY definieren. Sicherer deshalb, da auch bei
existierendem Primary Key die Daten gespeichert werden und der
Vorgang nicht einfach abgebrochen wird. Aber wenn du wirklich nur
"spalte" ändern möchtest, ist INSERT IGNORE natürlich vorzuziehen.
nach ca. zehn inserts gibt mysql auf: server has done away.
vielleicht "verträgt" der mysql die vielen inserts auf einmal nicht... (zusammenfassen der inserts ist aber nicht möglich)
Dein MySQL-Server scheint nicht wirklich stabil zu sein... Nach
10 INSERT's einfach die Karotten von unten ansehen...
http://www.mysql.com/doc/en/INSERT.html
=>
INSERT IGNORE INTO table (spalte) VALUES
('A'),
('B'),
...
So wird nur noch ein Statement über die Verbindung gesendet und
ggf. kommt der Server damit besser zu rande und wird nicht
überfordert...
GGF. Die korrekte Verarbeitung a) über Fehlerbehandlung und b)
http://www.php.net/mysql_affected_rows überprüfen.
Viele Grüsse
Philipp
hi hi,
mit "replace" oder "replace delayed" sagt der server auch tschüss - verdammtes mistteil!!! (sorry)
scheinbar läuft das ding unstabil (win xp sp1, mysql4.1.1a alpha, perl 5.6).
bei www.mysql.de kann ich verschiedene mysql-4.1.1 versionen downloaden:
-Windows 95/98/NT/2000/XP/2003 (x86) 4.1.1a-alpha (hab die hier installiert)
-Windows Source (zip) 4.1.1a-alpha 18,9M
-Windows Source (zip) Standard 4.1.1a-alpha 17,1M
laufen die anderen evtl. versionen stabiler? brauch ich da nen c-compiler für, wegen "Source" und so?
gruß
norman
Moin!
scheinbar läuft das ding unstabil (win xp sp1, mysql4.1.1a alpha, perl 5.6).
HAAAAAAHAHAHAHAHA! Alpha-Version! Das sind die Dinger, die man testweise mal an Entwickler verteilt, damit die die tatsächlich vorhandenen BUGS rausfinden und beseitigen.
Wenn du eine Datenbank zu mehr als zum Testen einsetzen willst, nimm niemals Alpha- oder Betaversionen, sondern Final Releases!
bei www.mysql.de kann ich verschiedene mysql-4.1.1 versionen downloaden:
Du willst keine Alpha-Version. Du willst eine stabile Version.
Also 4.0. Für Windows gibts da auf der Downloadseite nur eine einzige Version 4.0.18. Ob du nun mit Installationsprogramm haben willst, oder ohne, sei dir überlassen.
- Sven Rautenberg
HAAAAAAHAHAHAHAHA! Alpha-Version! Das sind die Dinger, die man testweise mal an Entwickler verteilt, damit die die tatsächlich vorhandenen BUGS rausfinden und beseitigen.
da hast du recht! unter linux läuft die diese verion stabil. ist wohl ein auf windows beschränktes prob. also: warten auf die 4.1.2 alpha ;-)
ps: schönes zitat von kant!