Tema: mysql cache
Pogledajte određenu poruku
Staro 12. 01. 2006.   #16
bojan_bozovic
expert
Master
 
Avatar bojan_bozovic
 
Datum učlanjenja: 20.12.2005
Poruke: 730
Hvala: 0
0 "Hvala" u 0 poruka
bojan_bozovic is on a distinguished road
Default

A CREATE TABLE tabela1 TYPE=HEAP SELECT ... Da li se pogledi skladiste u memoriji? Ja cu da prenesem podatke iz moje baze na serveru u lokal (v5) da bas vidim hoce li tabela tipa HEAP uz DROP TABLE IF EXISTS da bude brze resenje od pogleda, jer poglede imam samo u lokalu. Mogu li ja nekako znati da li je DB server pao, pa ako jeste da regenerisem tabele? Mada MySQL ima svoj interni cache, za malo podataka i mnogo UPDATE upita bilo bi mozda bolje da se ide sa tabelom tipa HEAP (moj slucaj).
Kôd:
BEGIN ;# MySQL returned an empty result set (i.e. zero rows).
CREATE TABLE TMP(
PRIMARY KEY ( UID ) 
) TYPE = HEAP SELECT UID, USERNAME, AVERAGE
FROM USER
LEFT JOIN VOTES ON USER.UID = VOTES.USERID;# Affected rows:64
UPDATE TMP SET AVERAGE =10 WHERE UID =2;# Affected rows:1
SELECT * 
FROM TMP
ORDER BY AVERAGE DESC ;# Rows: 64
COMMIT ;# MySQL returned an empty result set (i.e. zero rows).
Pogledi na MySQL 3.23 Plus sto mozemo da udaramo upite u memoriju koliko zelimo (da li moze UPDATE ili INSERT INTO pa SELECT kod pogleda?) Naravno na kraju se udari REPLACE ili INSERT INTO ... SELECT - hmm SELECT nema smisla zbog BEGIN...COMMIT ali ovako mozemo da implementiramo AUTOCOMMIT=0 na MyISAM tabelama (ispravite me ako gresim) - jer ovo je rucno upravo ono sto InnoDB radi - pise u memoriju I pre zadnjeg REPLACE nista ne moze biti upisano u tabelu ako server padne Gledao sam prakticno na ovo kao na implementaciju pogleda u MySQL<5.0 ali ispade da moze vise da se uradi

Poslednja izmena od nixa : 13. 01. 2006. u 01:05.
bojan_bozovic je offline   Odgovorite uz citat