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