Die schnellste Möglichkeit Daten in den
MySQL zubekommen ist mit
MySQL LOAD DATA INFILE
Allerdings frage ich mich auch noch, was das mit dem BLOB-Feld da auf sich hat?
Das kann ja nur dann zum Tragen kommen, wenn die SQLite-Datei im Netzwerk liegt ... ist das so?
Soll denn jetzt der
MySQL die SQLite ersetzen?
Denn dann macht es keinen Sinn dieses BLOB weiter zu nutzen, denn die Zusammenstellung der Daten erfolgt bei
MySQL ja auf dem Server und es wird nur noch das Ergebnis durch das Netz geschickt.
Andersherum ist es auch kein Problem, dass der
MySQL per VIEW dir dieses BLOB-Feld (nicht als BLOB) dann direkt baut und mitschickt.
Liegt die SQLite lokal vor, dann macht das BLOB-Feld auch keinen Sinn ...
@Medium, ich weiss noch garnicht wie lang der String sein darf. Bei sqlite3 ist z.b. eine grenze bei 1.000 values.
Code:
SELECT FileName FROM TABLE WHERE ID=1 OR ID=2 OR ID=3.....
Na meckert sqlite3 ab 1.000 rum das es zu gross ist. Er meckert definitiv die 1.000 IDs an. Nicht die Stringlänge.
Dafür gibt es 2 Wege
Code:
SELECT FileName FROM TABLE WHERE ID IN (1,2,3,...)
oder man legt sich eine temporäre Tabelle mit den IDs an und
Code:
SELECT FileName FROM TABLE WHERE ID IN ( SELECT tmpID FROM tmpTABLE )
oder
Code:
SELECT FileName FROM TABLE JOIN tmpTABLE ON ID=tmpID
Ach ja und nicht vergessen einen INDEX (hier wohl geht wohl auch ein UNIQUE) auf die tmpTABLE zu legen