Ho letto un sacco di articoli che suggeriscono di mettere un Memcached (o Velocity, ecc.) Di fronte a un database è più efficiente di colpire direttamente il database. Ridurrà il numero di accessi sul database cercando i dati in una cache di memoria, che è più veloce di colpire il database.Memcached vs cache SQL Server
Tuttavia, SQL Server dispone della propria cache di memoria per gli oggetti nel database. Quando i dati vengono recuperati, SQL Server mantiene la cache e (se necessario) preleva la riga dalla memoria e non colpisce il disco.
Quindi, se SQL Server dispone della propria cache, qual è il vantaggio di un server Memcached esterno (o simile)?
La maggior parte degli articoli che ho letto riguardano i siti di social network, che per lo più utilizzano MySql. Tuttavia, un article su MySpace, che utilizza SQL Server, suggerisce che il caching venga utilizzato anche su quel sistema.
Questo article spiega quando è necessario utilizzare la cache e questo article è un contrappunto.
Grazie. Non ero a conoscenza che memorizzava l'intero tavolo in memoria. È stato difficile trovare la documentazione su di esso. Hai un link che documenti questo? –
Correzione al mio ultimo commento: mi rendo conto che le pagine sono archiviate nella memoria, non nell'intero tavolo. –
Non è necessario utilizzare DISTINCT su una colonna quando si sta già GROUPING BY dalla stessa colonna. – Kiril