Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
Nö... ich würde erstmal davon ausgehen das sie vorhanden und gefüllt ist, und den SELECT darauf absenden... erst wenn es hier einen DB Fehler gibt oder das Ergebnis leer ist würde ich prüfen ob die DB vorhanden und gefüllt ist und ggf. erstellen und füllen...kostaki hat geschrieben:Muss man natürlich vor jedem Query überprüfen ob die Tabelle leer ist.
So etwas ähnliches benutze ich auch um select->insert/update Strukturen zu verhindern. Ich nehme nur kein update->insert, sondern ein insert on duplicate key update. Damit braucht man nur noch den insert und nichts anderes. https://dev.mysql.com/doc/refman/5.0/en ... icate.htmlnet(t)worker hat geschrieben:bei einigen Projekten habe ich auch Einträge die entweder hochgezählt oder falls noch nicht vorhanden eben erstellt werden... also sende ich als erstes ein UPDATE, und erst wenn dies zurückliefert das kein Datensatz betroffen war wird ein INSERT ausgeführt... so komme ich in den meisten Fällen mit dem UPDATE aus... wenn ich jetzt jedesmal vorher prüfen würde ob ein Eintrag besteht, hätte ich also in etwa die doppelte Anzahl an DB Zugriffen und somit die doppelte Belastung des DB Servers...
Indizes behält MySQL automatisch im Ram, solange wie möglich. Wenn Du also jeder Spalte Deiner kleinen Tabelle einen Index gibst, sollte einfach die gesamte Tabelle im Ram bleiben, schätze ich. Ggf. kannst Du noch in der Mysql-Config die key_buffer vergrößern (a la key_buffer = 256M).nerd hat geschrieben:gibt es in mysql einen tabletype oder eine option um eine tabelle immer komplett im ram zu halten oder komplett zu cachen? ... auf der platte belegt der table inklusive index etwa 1MB bei ~6000 rows; wenn das projekt live geht wird die tabelle wahrscheinlich 2-3x groesser werden.
--------- "macht nur ein" -------- ist falschkostaki hat geschrieben:Ein REPLACE macht einen INSERT + DELETE + INSERT. INSERT ON DUPLICATE KEY UPDATE macht nur ein INSERT + UPDATE.
z.B. Foren PN800XE hat geschrieben:--------- "INSERT + UPDATE" ----------- ist falsch
INSERT ON DUPLICATE .....
... macht ein UPDATE wenn möglich
... wenn nicht möglich, wierd ein INSERT gemacht
die tabellen sind alle MyISAM (soll wohl beim lesen einen tick schneller sein, und inserts gibts in der tabelle ~2 stueck pro woche) , 2 textfelder, 4 int und 2 dezimal. Mit den meisten plugins und extentions hier kann ich wahrscheinlich nix anfangen da das projekt im moment noch auf einer shared hosting plattform laeuft.seonewbie hat geschrieben: Verwendest Du MyISAM oder InnoDB?
E.v.t. solltest Du auf InnoDB umstellen.
1.) BLOB Colums können mit InnoDB nicht gecached werden
2.) TEXT Columns können mit InnoDB nicht gecached werden