sql >> Databáze >  >> RDS >> Sqlserver

Otázky výkonu pro závislost mezipaměti SQL

Závislost mezipaměti SQL pomocí mechanismu dotazování by neměla být zátěží na serveru SQL nebo aplikačním serveru.

Podívejme se, jaké všechny kroky existují, aby sqlcachedependency fungovala, a analyzujeme je:

  1. V databázi je povolena závislost sqlcachedency.
  2. Tabulka říká, že „Zaměstnanec“ je povolena pro závislost sqlcached. (může být libovolný počet tabulek)
  3. Web.config je aktualizován, aby umožňoval závislost sqlcachedency.
  4. Stránka, kde používáte závislost mezipaměti SQL, je nakonfigurována. To je vše.

Interně:

  • krok 1. vytvoří v databázi tabulku 'ASPnet_sqlcachetablesforchangenotification', která bude ukládat název tabulky 'Employee', pro kterou je povolena závislost sqlcachedency. a přidat také některé uložené procedury.
  • krok 2. vloží položku tabulky 'Employee' do tabulky 'ASPnet_sqlcachetablesforchangenotification'. Také vytvoří spouštěč pro odstranění aktualizace vložení v této tabulce 'Zaměstnanec'.
  • Krok 3. umožňuje aplikaci pro závislost na sqlcached poskytnutím řetězce připojení a času dotazování.

kdykoli dojde ke změně v tabulce 'Zaměstnanec', spustí se spouštěč, který následně aktualizuje tabulku 'ASPnet_sqlcachetablesforchangenotification'. Nyní aplikace dotazuje databázi každých 5000 ms a kontroluje případné změny v tabulce 'ASPnet_sqlcachetablesforchangenotification'. pokud dojde k nějakým změnám, příslušné mezipaměti se odstraní z paměti.

Velká výhoda ukládání do mezipaměti v kombinaci s čerstvostí dat (maximálně data mohou být 5 sekund zastaralá). O dotazování se stará proces na pozadí, který by neměl představovat překážku výkonu. protože jak vidíte z výše uvedeného seznamu, úkol je nejméně náročný na CPU.



  1. Proveďte více příkazů SQL v jazyce Java

  2. kombinování polí Datum a Čas s DateTime, SQL Server 2008

  3. smyčka for uvnitř kurzorového orákula

  4. jak zobrazit/skriptovat definice systémových pohledů?