Domanda

Sto cercando informazioni su come SQL Server gestisce in realtà l'esecuzione di query nei dettagli più fini (come quello che i dati vengono conservati in tampone / di memoria e come decidono di nuovi dati, anche se v'è un cambiamento di aggiornamento in una sola colonna di un tavolo coinvolto in un'etc query)

Se qualcuno sa fonti fatemelo sapere?


Abbiamo un'applicazione web utilizzando sql server 2000, è pesante frequente si legge quasi il 70% dei tavoli (Dashboard) ogni 30 secondi. e allo stesso tempo molto di scrive stanno accadendo.

Per favore fatemi sapere qualche consiglio per l'ottimizzazione di scenario di cui sopra?

È stato utile?

Soluzione

Nessuno sta per essere in grado di dare una risposta su come risolvere il problema di ottimizzazione. Ciò richiede l'accesso al server di database. Per risolvere i vostri problemi è necessario capire come funziona grosso modo il database, e per questo è necessario fare qualche lettura.

On-line le risorse sono OK, ma i seguenti tre libri non hanno prezzo. I primi due libri hanno informazioni molto dettagliate sul funzionamento di SQL Server. Questi ultimi sono una guida su come scrivere query ma con una discussione su come il motore di una vista interroga pure.

  1. Kalen Daleney: SQL Server 2008 Internals
  2. SQL Server 2005: risoluzione dei problemi pratici :
  3. Ben Gan et al : all'interno di SQL Server 2008: T-SQL Interrogazione

Altri suggerimenti

Ci vorrebbe un sacco di posti per rispondere alle domande del tipo interno, vi suggerisco di iniziare a leggere alcune delle carte bianche / blog e alcuni libri.

Per il 2000 di Ken Henderson SQL Server Architettura vi darà dettagli interni profondi, per le edizioni più recenti di SQL, ha fatto un pratico di tiro 2005 problemi, che non è male, e SQL 2008 Internals libro di Kalen Delaney è molto buona.

Si dovrebbe esaminare il piano di esecuzione.

Premere Ctrl-L nel SSMS o problema SET SHOWPLAN_TEXT ON prima di eseguire la query.

Questo vi darà informazioni dettagliate su ciò che si utilizzano gli indici, che uniscono gli algoritmi applicati ecc.

Si consiglia inoltre di vedere le statistiche:

SET STATISTICS TIME ON
SET STATISTICS IO ON

, che vi darà le informazioni su quante letture sono state fatte da tabelle effettive, cache, ecc, e quanto tempo (reale e CPU tempo) ha fatto ogni introito query.

Informazioni su SQL Server 2008 la gestione del buffer: http://msdn.microsoft. com / it-ca / library / aa337525.aspx

Quindi è possibile navigare con la barra laterale sinistra per informazioni su altri argomenti.

Per quanto riguarda le fonti esterne vanno, MSDN ha una vasta risorse su come ottimizzare l'installazione di SQL Server 2000, in particolare le Patterns & Practices carta su prestazioni e scalabilità.

Se sai dove cominciare a cercare, prendere un approccio bottom-up di esaminare i profili e piani di query SQL come è stato detto. In caso contrario, iniziare dall'alto verso il basso e di conoscere i costi di ricompilare query, come indicizzare in modo efficace, e in che modo l'ottimizzatore di query utilizza statistiche.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top