Ciao a tutti, vorrei avere qualche chiarimento in merito al formato di campi utilizzato

(1)
quando come chiave primaria di una tabella è meglio usare un GUID e quando un ID incrementale??


(2)
per un campo di "annotazioni" va bene il formato TEXT?? (in SQL Server userei varchar(MAX)


(3)
per un campo boolean è corretto usare il TINYINT(1)


(4)
per i campi di testo in generale è corretto usare VARCHAR(DIM)


(5)
vorrei tenere traccia, per ogni record, della data di aggiornamento di ogni campo .... io ho sempre usato il timestamp (impostato col CURRENT_TIMESTAMP) ma ho visto che qualcuno usa un campo datetime (impostao a NOW) .... è sbagliata la mia soluzione?


Grazie a tutti per i suggerimenti