WorkTable در Sql Server چیست؟
WorkTable در Sql Server چیست و چگونه کار می کند؟ برای اطلاعات بیشتر ادامه این مطلب را همراه ما دنبال کنید.
آموزش برنامه نویسی | WorkTable در Sql Server
قبل از این که به این سوال پاسخ دهم، بگذارید ببینیم WorkTable در SQL Server کجا قرار دارد.
اجازه دهید اسکریپت زیر را در SQL Server Management Studio در پایگاه داده AdventureWorks اجرا کنیم.
USE AdventureWorks2014
GO
SET STATISTICS IO ON
GO
SELECT *
FROM Production.Product p
CROSS JOIN Production.Product p1
GO
وقتی شما کوئری بالا را اجرا کنید، به شما جزئیات زیر را در پنجره پیام ارسال می کند.
Table ‘Product’. Scan count 2, logical reads 30, physical reads 1, read-ahead reads 17, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table ‘Worktable‘. Scan count 1, logical reads 8110, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
شما در پیام متوجه خواهید شد که یک جدول با نام worktable وجود دارد. با این حال، اگر شما جدول اصلی را ببینید، هیچ جدول کاری (worktable) وجود نخواهد داشت.
سوال دیگر اینکه – چرا در worktable آمار دقیقی از کوئری های اصلی وجود ندارد؟
خب، پاسخ بسیار ساده است - اغلب SQL Server باید هر عملیات منطقی را برای هر پرس و جو خاص انجام دهد. SQL Server باید یک worktable ایجاد کند. جدول کاری (worktable) در tempdb ساخته می شود و زمانی که دیگر مورد نیاز نیست، به طور خودکار کاهش می یابد.
بنابراین به عبارت دیگر، اگر شما در SQL جدول کاری را مشاهده کنید، به این معنی است که از TempDB استفاده می شود.
منبع: sqlauthority
"منتشر شده در سایت ABLY"