-
Forum: Datenbanken
Delphi
by DelTurbo,
17. Okt 2011
Jap. Genauso sieht es aus. Blos das halt mehr felder drinn sind. Aber INT. z.b. FileSize und FileDate...
-
Forum: Datenbanken
Delphi
by DelTurbo,
17. Okt 2011
Wie versprochen die "Speed Rückmeldung"
Also, es ist wesentlich schneller wenn ich auf einen Path klicke und dann das FPtrs feld lese und mir die Fileinfos hohle, statt ihm zu sagen "Gib mir alle files die auf den Path zeigen". Das habe ich aber schon vermutet. Es ist halt ein unterschied ob er bei jedem "klick" ~730.000 datensätze absuchen muss, oder nicht.
Ich habe es unter gleichen...
-
Forum: Datenbanken
Delphi
by DelTurbo,
15. Okt 2011
Kleine rückmeldung:
738.007 Datensätze bestehen aus
6x : int
1x : vchar (Da steht der Filename drinne)
in ~40 Sekunden. Gemacht mir MySqlDirect. Und es ich noch keine wietergehende optimierung drinn. Nur das wie oben besprochen wurde, also VALUES (1,"filename",2,3,4,5,6),(1,"filename",2,3,4,5,6), usw.. Da packe ich immer 2.500 stück rein.
Nochmal danke.....
-
Forum: Datenbanken
Delphi
by DelTurbo,
15. Okt 2011
Ist schon drinn :)
-
Forum: Datenbanken
Delphi
by DelTurbo,
15. Okt 2011
Danke für die Tipps.
Du hast es bestimmt überlesen (steht irgendwo vorne). Die sqlite3 liegt im Netzwerk. Das macht an einem Client mit Kabel nix aus. Aber über WLAN wird es schnell langweilig....
Ob MySql nun die sqlite3 ersetzt weiss ich noch nicht. Dafür werde ich dann mal Speedtests machen, um zu sehen was besser ist. Weil beides hat seine vor und nachteile...
-
Forum: Datenbanken
Delphi
by DelTurbo,
15. Okt 2011
@Valle, danke für die auskunft. Ich habe gestern abend noch bissl "rumgespielt". Was ich garnicht wusste, man kann das autoinc feld ja auch beschreiben.
Ich habe gestern abend mal eine Tabelle gedropt und einfach einen eintrag mit ID 500 gemacht. Wenn ich danach wieder "normal" in die Tabelle schreibe, ist der nächste index 501. Das würde heissen das ich die db von sqlite3 1:1 rüberziehen...
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Ich danke dir. So geht es. Ich werde es morgen mal an meinem Programm testen. Ich hoffe nur das das autoinc feld wirklich nur hochzählt, und nicht etwa versucht löscher zu stopfen. Wenn ich z.b. eine Platte lösche.
Ich werde auf jeden fall berichten.
Antwort vom Server war:
Eingefügte Zeilen: 2
Letzte automatisch eingefügte ID: 2729050 (die Abfrage dauerte 0.0003 sek.)
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Geht leider auchnicht. Ich habe auchschon zig varianten getestet. Leider finde ich auch in google nix. Die frage wäre dann auch noch wie ich für jeden eintrag an die LastInsertID komme. Obwohl, das ist ja ein autoincrement feld. Ich müsste ja dann nur die letzte ID hohlen und dann dementsprechend runterzählen.
Fehler
SQL-Befehl:
INSERT INTO FileTable( NFOTablePTr, FileSize, FileDate,...
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Nein, ich hatte nach dem Post nochmal deins probiert und gepostet ;)
Also an den " oder ´ oder ' kann es nicht liegen. Ich habe den String mal wegelassen.
Fehler
SQL-Befehl:
INSERT INTO FileTable( NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr )
VALUES ( 1, 2, 3, 4, 5 )
VALUES ( 1, 2, 3, 4, 5 )
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Leider nicht. Wäre aber ne coole idee. Ich habe nun alles durch. Angefangen mit deinem vorschlage über nochmaliges INSERT in einer neuen, mit AND usw...
Hier z.b. der Fehler mit AND.
Fehler
SQL-Befehl:
INSERT INTO FileTable( FileName, NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr )
VALUES (
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Ah, ok. Dann habe ich das Falsch verstanden. Ich dachte er "sammelt" und das Commit schickt los.
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Hellseher? :-D
AutoCommit war an. Ich habe es nun mal abgeschaltet und mache alle 10.000 (zum testen) ein Commit. Der Speed ist wirklich auf 3MBit hoch. Ist nicht berauchend, aber so langsam wird es was :thumb:
Was mich nur wundert ist, das der Stream ständig da ist. Müsste das nicht so sein, das er nach 10.000 einen dicken batzen schickt?
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Das findest du schnell? Da ist ja sqlite3 schneller. Aber wesentlich. Laut iptraf kommt der nur auf 2MBit. Find ich bissl dünn für ein 1000er netzwerk.
Diese Commit wie ich es bei sqlite3 mache braucht man wohl nicht. Die Datensätze waren da. Das war eine "normale" for schleife, ohne alles. Also an der Perfomance hier im Client kann es nicht liegen. Zumal die CPU noch fast im idle lief.
Ich...
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Ich habe mal ZEOS mit der libmysql.dll probiert. Ist leider auch gääähn.... So habe ich es gemacht.
ZConnection1.ExecuteDirect('INSERT INTO FileTable (FileName,FileSize,FileDate,EntryDate,PathTablePtr) VALUES ("ddd",'+IntToStr(i)+',2,3,4);');
Bei ~290.000 habe ich abgebrochen. Ich denke mal ich mache das falsch. Kennt jemand eine "einfache" Demo?
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Nei, das kann nicht sein. Ich habe keine libmysql.dll auf meinem system.
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Neee, der Server steht nicht im Internet. Ausser du nennst meine abstellkammer Internet :-D
Mit dem mysqldump ist mir auch klar. So hohle ich nachts immer backups. Aber das hat ja mit meinem MySqlDirect problem nix zu tun. Ich habe eben mal unter Windows einen MySql-Server drauf gemacht. Und auf dem gleichen system die 800.000 einträge reingeschrieben. Das war noch langsamer.
Kurz noch zu...
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Ich habe das Programm für sqlite3 gemacht. Da das blob feld kleiner ist, ist es über wlan schneller.
Natürlich hast du recht, alleine das man den blob Escapen muss wird er eh grösser.
Zu dem Prepare find ich leider garnix. Kann MySqlDirect das überhaupt? Oder gibt es einen anderen "trick" mit dem man z.b. sagen kann, pass auf hier kommen 50 datensätze.
Sorry ist was platt ausgedrückt
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Nein, so wie ich oben geschrieben habe. Da ist nix davor oder dahinter. Wenn du mir sagen könntest wie ich das anwende (mit der beispielzeile oben) dann wär ich dir dankbar.
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Hallo ihr beiden.
Also, in der datenbank möchte ich meine USB-Platten, also die filenamen, grössen etc. speichern.
Ich habe 2 Tabellen. Einmal mit dem eigentlichen Pfadnamen (dort gibt es ein blobfeld mit den ids der dateien die zu dem path gehören). Und halt die Tabelle mit den eigentlichen dateinamen.
Eingefügt wird es über
INSERT INTO FilesTable(Filename,Size,Date) VALUES...
-
Forum: Datenbanken
Delphi
by DelTurbo,
14. Okt 2011
Hi, eine frage an die spezialisten. Ich habe ca. 800.000 einträge in einer SQLite3. Nun habe ich mit mysqldirect eine schleife gemacht, die die daten auf einen mysqlserver (Debian5) kopiert.
Das ist langsam ohne ende. Erst dachte ich die schleife geht nicht, da er lange auf 0% stand. Aber die schleife geht.
Wenn ich nun über die libmysql??.dll gehe, z.b. ZEOS, bekomme ich das irgendwie...