/ / SQL Server 2008 Pomalá tabuľka, tabuľkové oddiely - sql, sql-server-2008

SQL Server 2008 pomalá tabuľka, rozdelenie tabuliek - sql, sql-server-2008

Mám tabuľku, ktorá sa rozrástla na viac ako 1 milión záznamov ... (všetky platné)

Musím to urýchliť ... Odpoveď na tabuľku bude odpoveď? Ak áno, môžem získať pomoc pri vytváraní dotazu?

Tabuľka má 4 kľúče hodnoty bigint a to je všetko s indexovaným primárnym kľúčom a index klesajúci na userid ostatné hodnoty sú maximálne 139 (teraz je to len niečo vyše 10 000 používateľov)

Akákoľvek pomoc alebo smer by bol ocenený :)

odpovede:

1 pre odpoveď č. 1

Pravdepodobne len potrebujete naladiť svoje dotazya / alebo indexy. 1 milión záznamov by nemal "spôsobovať problémy. Mám tabuľku s niekoľkými stovkami miliónov záznamov a dokážem si udržať dosť vysoký výkon. Zistil som, že profiler SQL Servera je s touto vecou veľmi užitočný. Je k dispozícii v jazyku SQL Server Management Studio (ale nie expresná verzia, bohužiaľ). Môžete tiež urobiť Query > Include Actual Execution Plan vidieť schému, kde sa čas strávil počas dotazu.


2 pre odpoveď č. 2

Skôr než sa zamyslite nad rozdelením, mali by ste preskúmať svoje indexy a pracovné zaťaženie dotazu. Ak ste vykonali veľký počet vložení, index klastrov môže byť fragmentovaný.

Napriek tomu, že používate SQL Server Express, môžete naďalej používať tento bezplatný nástroj: Profiler pre Microsoft SQL Server 2005/2008 Express Edition


0 pre odpoveď č. 3

Súhlasím s ostatnými pripomienkami. S primerane malou databázou (najväčšia tabuľka 1MM záznamov) je nepravdepodobné, že by akákoľvek činnosť v databáze mala poskytovať výrazné zaťaženie, ak sú dotazy optimalizované a zvyšok kódu nie je zneužitím databázy s nadbytočnými dotazmi. Je to dobrá príležitosť na získanie pocitu pre súhru medzi databázovými dotazmi a zvyškom kódu.


0 pre odpoveď č. 4

Pozrite si moje experimenty na rozdelení tabuliek sql tu [http://faiz.kera.la/2009/08/02/does-partitioning-improve-performance-for-sql-tables/], Dúfam, že je to užitočné pre vás ... A pre váš prípad, 1M nie je značná postava. Možno budete potrebovať doladiť dopyty, než aby ste ich rozdelili.