sql >> Databasteknik >  >> RDS >> Sqlserver

Generera hierarkivärde automatiskt

Jag har ett annat sätt att svara på båda frågorna. Jag undviker i allmänhet att använda triggers tills det är det sista valet eftersom det lägger till onödiga overhead på databasen.

Jämförelse mellan utlösare och lagrad procedur

  • Det är lätt att se tabellrelationer, begränsningar, index, lagrad procedur i databasen men utlösare är svåra att se.
  • Utlösare körs osynligt för klientapplikationsapplikationer. De är inte synliga eller kan spåras i felsökningskoden.
  • Det är lätt att glömma triggers och om det inte finns någon dokumentation kommer det att vara svårt att ta reda på för nya utvecklare för deras existens.
  • Triggers körs varje gång när databasfälten uppdateras och är overhead på systemet. Det gör att systemet går långsammare.

Nog sagt, det är därför jag föredrar lagrade procs. Du kan skapa en jobbfil (säg till exempel:den körs efter var 30:e minut eller någon annan gång) via agent. Du kan använda logiken för att infoga i den jobbfilen. På detta sätt dina data i tree table skulle vara nära realtid.

hänvisar nu till att skapa en agent :
http://msdn.microsoft.com/en-us/library/ms191128(v=sql.90).aspx
http://msdn. microsoft.com/en-us/library/ms181153(v=sql.105).aspx



  1. Mer om CXPACKET Waits:Skewed Parallelism

  2. Finns det ett bra sätt att utföra SQL-dumpning av MySQL-databas i DataGrip?

  3. Få en lista över första posten för varje grupp

  4. Hur delar jag en sträng så att jag kan komma åt objekt x?