Domanda

Ho una tabella che è cresciuta fino a oltre 1 milione di record ... oggi (tutti validi)

Devo velocizzarlo ... la partizione dei tavoli sarebbe la risposta? In tal caso, posso ottenere assistenza nella creazione della query?

La tabella ha 4 chiavi di valore bigint e questo è tutto con una chiave primaria indicizzata e una descrizione dell'indice su userid gli altri valori sono al massimo 139 (adesso ci sono poco più di 10.000 utenti)

Qualsiasi aiuto o direzione sarebbe apprezzato :)

È stato utile?

Soluzione

probabilmente devi solo mettere a punto le tue query e / o indici. 1 milione di record non dovrebbe causare problemi. Ho un tavolo con diverse centinaia di milioni di dischi e amp; sono in grado di mantenere prestazioni piuttosto elevate. Ho trovato il profiler di SQL Server molto utile con queste cose. È disponibile in SQL Server Management Studio (purtroppo non nella versione express). Puoi anche eseguire query > Includi il piano di esecuzione effettivo per vedere un diagramma di dove viene impiegato il tempo durante la query.

Altri suggerimenti

Dovresti esaminare i tuoi indici e interrogare il carico di lavoro prima di pensare al partizionamento. Se hai fatto un gran numero di inserti, il tuo indice cluster potrebbe essere frammentato.

Anche se stai usando SQL Server Express, puoi comunque creare un profilo utilizzando questo strumento gratuito: Profiler per Microsoft SQL Server 2005 / Edizione Express 2008

Sono d'accordo con gli altri commenti. Con un database ragionevolmente piccolo (record della tabella 1MM più grandi) è improbabile che qualsiasi attività nel database fornisca un carico notevole se le query sono ottimizzate e il resto del codice non abusa del database con query ridondanti. È una buona opportunità per farsi un'idea dell'interazione tra le query del database e il resto del codice.

Vedi i miei esperimenti sul partizionamento delle tabelle sql qui [ http://faiz.kera.la/2009/08/02/does-partitioning-improve-performance-for-sql-tables/] . Spero che questo sia utile per te ... E per il tuo caso, 1M non è una cifra considerevole. Potrebbe essere necessario ottimizzare le query piuttosto che andare al partizionamento.

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