hallo.
wie kann ich aus einer großen mysql tabelle alle kommas automatisch entfernen?
gibts da einen befehl?
per hand währe es zuviel arbeit.
vielen dank schon mal
Homepage selbermachen 7.851 Themen, 35.616 Beiträge
SELECT * FROM bilder WHERE jahr LIKE 1998
In diesem Fall = verwenden.
Interessant ist hier ggf. auch noch BETWEEN und IN().
LIKE ist nur für die Suche mit Platzhaltern sinnvoll. Platzhalter als Präfix sind zu vermeiden weil vorhandene Indices in diesem Fall nicht genutzt werden können...
ist es nicht egal ob eine tabelle oder ein index (ist doch die gleiche menge an text) gescannt wird?
Nein! Ein Index enthält nur Verweise auf die Datensätze. Die Verweise werden dann anhand des Sortierkriterium z.B. in einer Baumstruktur gespeichert und erlauben so einen deutlich schnelles Anspringen von bestimmten Datensätzen.
Beispiel: Personendatenbank mit 1 Mio Einträgen. Wenn man dort ohne Index einen Herrn "Hansa Park" sucht, dann muss man dazu jeden Datensatz einmal prüfen. Mit einem gemeinsamen Index für Vor- und Nachnamen reichen dagegen schon 10 (nur zur Verdeutlichung der Größenordnung, die genaue Anzahl ist abhängig von der konkreten Implementierung) Vergleichsoperationen um die gesuchte Person zu finden. Im Idealfall passt der Index auch noch komplett in den DB-Cache und dann reicht ein Plattenzugriff um den gesuchten Datensatz zu lesen.
wie teuer? für die performance oder finanziell?
Beides. Wenn man Leistung verschenkt geht es ab einer gewissen Größenordnung auch ins Geld ;-)
Gruß
Borlander
In diesem Fall = verwenden.
Interessant ist hier ggf. auch noch BETWEEN und IN().
LIKE ist nur für die Suche mit Platzhaltern sinnvoll. Platzhalter als Präfix sind zu vermeiden weil vorhandene Indices in diesem Fall nicht genutzt werden können...
ist es nicht egal ob eine tabelle oder ein index (ist doch die gleiche menge an text) gescannt wird?
Nein! Ein Index enthält nur Verweise auf die Datensätze. Die Verweise werden dann anhand des Sortierkriterium z.B. in einer Baumstruktur gespeichert und erlauben so einen deutlich schnelles Anspringen von bestimmten Datensätzen.
Beispiel: Personendatenbank mit 1 Mio Einträgen. Wenn man dort ohne Index einen Herrn "Hansa Park" sucht, dann muss man dazu jeden Datensatz einmal prüfen. Mit einem gemeinsamen Index für Vor- und Nachnamen reichen dagegen schon 10 (nur zur Verdeutlichung der Größenordnung, die genaue Anzahl ist abhängig von der konkreten Implementierung) Vergleichsoperationen um die gesuchte Person zu finden. Im Idealfall passt der Index auch noch komplett in den DB-Cache und dann reicht ein Plattenzugriff um den gesuchten Datensatz zu lesen.
wie teuer? für die performance oder finanziell?
Beides. Wenn man Leistung verschenkt geht es ab einer gewissen Größenordnung auch ins Geld ;-)
Gruß
Borlander