Frage zu MySQL
Klaus
- datenbank
Hallo Leude,
Ich habe absolut keine AHnung von mySQL überlege mir aber mySQL einzusetzen, deshalb habe ich ein paar allgemeine Fragen zu MySQL, ich hoffe ihr könnt mir diese beantworten, wäre echt nett.
1.) Kann man bei einer MySQL-Datenbank nur einen Teil einer Spalte auslesen? (sinnvoll bei ziemlich langen spalten)
2.) Kann man auch Untertabellen erstellen?
3.) Ist die maximale Anzahl der Tabellen irgendwie beschränkt bzw. sind bei sehr vielen Tabellen Geschwindigkeitseinbußen zu befürchten?
Viele Grüße
Klaus
Hiho,
1.) Kann man bei einer MySQL-Datenbank nur einen Teil einer Spalte auslesen? (sinnvoll bei ziemlich langen spalten)
Natuerlich. Siehe LIMIT.
2.) Kann man auch Untertabellen erstellen?
Nein. Das kann man in keiner relationalen Datenbank - wuerde auch keinen Sinn machen.
3.) Ist die maximale Anzahl der Tabellen irgendwie beschränkt bzw. sind bei sehr vielen Tabellen
Geschwindigkeitseinbußen zu befürchten?
Weder, noch. Im Gegenteil, viele kleine Tabellen sind schneller als eine grosse ;-)
Gruss,
Christian
http://wwwtech.de
s s^s<DATA>se;s (([^\s]))(ord($1)%2?
chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>
Hi,
1.) Kann man bei einer MySQL-Datenbank nur einen Teil einer Spalte auslesen? (sinnvoll bei ziemlich langen spalten)
Natuerlich. Siehe LIMIT.
Wenn ich den op richtig verstanden habe, wollte er nur einen Teil _einer_ Zelle _teilweise_ auslesen, was iirc per limit nicht möglich ist, da limit nur die Anzahl an zurückgelieferten Datensätze beschränkt. Auch nach einer kurzen Suche im mysql-Manual konnte ich keine derartige Verwendung von limit erkennen, lasse mich aber wie immer gerne korrigieren.
Imho ist es aber sowieso sinnlos, eine Spalte nur teilweise auslesen zu wollen, einzelne Anwendungsfälle lassen sich sicherlich auch anders lösen.
fs
Hiho,
Wenn ich den op richtig verstanden habe, wollte er nur einen Teil _einer_ Zelle _teilweise_ auslesen, was iirc per limit
nicht möglich ist, da limit nur die Anzahl an zurückgelieferten Datensätze beschränkt. Auch nach einer kurzen Suche im
mysql-Manual konnte ich keine derartige Verwendung von limit erkennen, lasse mich aber wie immer gerne korrigieren.
Nun gut. Dann hab ich das vielleicht falsch verstanden.
Imho ist es aber sowieso sinnlos, eine Spalte nur teilweise auslesen zu wollen, einzelne Anwendungsfälle lassen sich
sicherlich auch anders lösen.
Im Gegenteil. Immer alles auszulesen ist aeusserst idiotisch, weil unperformant und ueberfluessig: ein select * sollte einen
kompletten Tablescan geben.
Von daher immer nur einen Teil auslesen, immer nur das noetigste: select feld1,feld2,feld...
Gruss,
Christian
http://wwwtech.de
s s^s<DATA>se;s (([^\s]))(ord($1)%2?
chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>
Hallo!
Imho ist es aber sowieso sinnlos, eine Spalte nur teilweise auslesen zu wollen, einzelne Anwendungsfälle lassen sich
sicherlich auch anders lösen.
Im Gegenteil. Immer alles auszulesen ist aeusserst idiotisch, weil unperformant und ueberfluessig: ein select * sollte einen
kompletten Tablescan geben.
Von daher immer nur einen Teil auslesen, immer nur das noetigste: select feld1,feld2,feld...
Hier habe ich mich scheinbar unklar ausgedrückt: Selbstverständlich ist einer der entscheidenden Punkte für die mySQL-Performance, dass man die Suchkriterien so wählt, dass möglichst wenige Datensätze zurückgeliefert werden und man sich auch nur die wirklich benötigten Spalten zurückgeben lässt.
Was ich meinte war: Es imho unsinnig, sich nur einen Teil _eines_ Datenfeldes (also z.B. die ersten 20 Zeichen eines Text-Feldes) von mySQL geben zu lassen. iirc ist dies auch gar nicht möglich.
fs
Hiho,
Hier habe ich mich scheinbar unklar ausgedrückt: Selbstverständlich ist einer der
Jup ;-)
Was ich meinte war: Es imho unsinnig, sich nur einen Teil _eines_ Datenfeldes (also z.B. die
ersten 20 Zeichen eines Text-Feldes) von mySQL geben zu lassen.
Stimmt. Sehr unsinnig.
iirc ist dies auch gar nicht möglich.
Doch. SUBSTR() ist in dem Fall dein Freund.
Gruss,
Christian
http://wwwtech.de
s s^s<DATA>se;s (([^\s]))(ord($1)%2?
chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>
Hiho,
Hi
Neugierig wie ich bin ... WAS IST DAS?
s s^s<DATA>se;s (([^\s]))(ord($1)%2?
chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>
Kopf auf Tastatur geschlagen? ;-)
Hiho,
Neugierig wie ich bin ... WAS IST DAS?
[...]
Kopf auf Tastatur geschlagen? ;-)
Finds raus ;-)
Gruss,
Christian
http://wwwtech.de
s s^s<DATA>se;s (([^\s]))(ord($1)%2?
chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>
Finds raus ;-)
Was'n das für ne Sprache?
Amit