Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Местни срещу глобални временни таблици - Кога да използвате какво?

Нито

Ако искате да кеширате набори от резултати под ваш собствен контрол, тогава не можете да използвате временни таблици от какъвто и да е вид. Трябва да използвате обикновени потребителски таблици, съхранени или в tempdb, или дори да имате собствена кеш база данни с набор от резултати.

Временните таблици, ботовете #local и ##shared имат живот, контролиран от връзката(ите). Ако вашето приложение прекъсне връзката, временната таблица се изтрива и това не работи добре с това, което описвате.

Истинският труден проблем ще бъде да се попълнят тези кеширани набори от резултати при едновременни изпълнения, без да се смесват нещата (завършете с набори от резултати, съдържащи дублиращи се елементи от едновременни изпълнения на отчети, за които и двете смятат, че са „първото“ изпълнение).

Като странична бележка SQL Server Reporting Services вече прави това извън кутията. Можете да кеширате и споделяте набори от данни, можете да кеширате и споделяте отчети, това вече работи и е тествано за вас.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL разделя 2 стойности от 2 заявки

  2. Парола за SQL Server 2008, завършваща с точка и запетая

  3. Ограничаване на рекурсията до определено ниво - Дублиране на редове

  4. Колко често трябва да се възстановяват индексите в нашата база данни на SQL Server?

  5. как да увеличите стойността на целите колони с 1 в SQL