در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

جداول موقت (Temporary Tables) در SQL Server

یکی از قابلیت های SQL Server این است که شما می توانید بدون ساخت Database، جداولی را ایجاد کرده و با آن ها کار کنید. به این جداول اصطلاحاً جداول موقت یا Temporary Tables می گویند. برای ایجاد جداول موقت کافیست به صورت زیر یک جدول موقت ایجاد کنید:

create table #TempUsers
(
	[Id] int identity not null primary key,
	[Username] nvarchar(200) not null,
	[Password] nvarchar(100) not null,
	[PasswordSalt] nvarchar(32) not null
);
go

دقت کنید که برای ساخت جداول موقت نیازی به ساخت Database نیست، کافیست در ابتدای نام جدول علامت # قرار دهید. حال، به راحتی می توان به صورت زیر در این جداول مقدار ریخت و از آن ها query گرفت:

insert into #TempUsers values (N'Hossein Ahmadi',N'123',N'123');
insert into #TempUsers values (N'Mohammad Nasiri',N'123',N'123');

و به صورت زیر از این جدول می توانیم Query بگیریم:

select * from #TempUsers

برای مثال، فرض کنیم می خواهیم از چند جدول اطلاعات را کوئری گرفته و در یک جدول موقت درج کنید تا بتوانیم بر روی آن عملیات های مورد نظرمان را انجام دهیم، برای اینکار به راحتی یک جدول موقت ایجاد کرده و اطلاعات را از یک جدول دیگر به صورت زیر می توانیم درج کنیم:

create table #TempUsers
(
	[Id] int identity not null primary key,
	[Username] nvarchar(200) not null,
	[Password] nvarchar(100) not null,
	[PasswordSalt] nvarchar(32) not null,
	[FirstName] nvarchar(200) null,
	[LastName] nvarchar(200) null
);
go

insert into #TempUsers (Username,Password,PasswordSalt,FirstName,LastName)
select
 u.Username,
 u.Password,
 u.PasswordSalt,
 up.FirstName,
 up.LastName
from Users u
inner join UserProfiles up on up.UserId = u.Id

select * from #TempUsers where Username LIKE N'Hossein%'

کلیه جداول موقت در SQL Server، در Database ای با نام tempdb که جزو database ها پیش فرض SQL Server می باشد ایجاد می شوند. این بانک در زمان نصب SQL Server به صورت خودکار ایجاد می شود. یکی از قابلیت های جداول موقت این است که این جداول با اتمام کار (به اتمام رسیدن عملیات های Transaction) از tempdb حذف می شوند.

امیدوارم که این نکته مورد توجه دوستان عزیز قرار گرفته باشد. ITPRO باشید

#بانک_tempdb_در_sql_server #ایجاد_جداول_موقت_در_sql_server #جداول_موقت_در_sql_server #نکات_sql_server
3 نظر
حسن ضرابی

با سلام و خسته نباشید خدمت شما

جناب آقای مهندس احمدی بهتر نیست که در پروژه های سنگین دیتابیس tempdb چندین فایل mdf در دیسکهای متفاوت داشته باشدیعنی مثلا در دیتابیس tempdb ما 4 تا فایل mdf داریم که هر کدام از فایلها در یک هارد قرار دارند آیا این موضوع مشکلی ایجاد نمی کند و برای این موضوع بهترین راهکار چیست که سرعت tempdb بالاتر برود.

ممنونم از شما بابت این مقاله

حسین احمدی

سلام و عرض ادب، بهترین مطلبی که بنده در این موضوع خوندم این مطلب هست که در مورد temp توضیح داده، بر اساس توضیحات این مقاله تعداد فایل ها برای tempdb به ازای هر core از cpu یک فایل فیزیکی هست، یعنی اگر شما 4 پردازنده که هر پردازنده 4 هسته داره روی سرورتون داشته باشید بهترین حالت 16 فایل برای tempdb هست. پیشنهاد می کنم مطلبی که لینکش رو گذاشتم حتماً مطالعه کنید. نکات جالبی داخلش داره.

حسن ضرابی

با سلام و خسته نباشید خدمت استاد عزیزم

از بابت توجه شما بسیار ممنونم خیلی ممنونم که من را راهنمایی کردید بسیار عالی توضیح دادید حتما لینک مورد نظر را الان نگاه می کنم

با تشکر از شما دوست عزیز

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....