PDA

View Full Version : بررسی عملکرد و مقایسه دستورات یا روشهای پیاده سازی Database



مجتبی نکونام
جمعه 09 فروردین 1392, 14:36 عصر
کدام از این دستورها سریعتر عمل می کند ؟
( Select into ) یا ( Creat table سپس insert into )
چگونه میتوانیم با تابع time() امتحان کنیم ؟

veniz2008
جمعه 09 فروردین 1392, 22:09 عصر
سلام.

SELECT INTO is very fast because it is minimally
logged(exception FULL RECOVERY).
SELECT INTO is also a quick way of creating a table from SELECT queries.
SELECT INTO is a powerful tool for a DBA or database developer.

http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/dc7f6267-7170-45e1-86d6-c7d436ac29e0/
واسه سوال دومتون هم راه های زیادی هست. شاید ساده ترین راهش همون زمانی باشه که خود sql در هنگام اجرای یک کوئری به ما میده. ولی میتونید با کدنویسی هم مدت زمان هر کوئری رو دقیق تر حساب کنید.

DECLARE @start_time DATETIME

SET @start_time = GETDATE()

-- my query
SELECT * FROM TblKala
-- calculate runtime query
SELECT RTRIM(CAST(DATEDIFF(MS, @start_time, GETDATE()) AS CHAR(10))) AS 'RunTime'
زمان بدست امده بر حسب میلی ثانیه هستش.
موفق باشید.

حمیدرضاصادقیان
یک شنبه 11 فروردین 1392, 23:04 عصر
سلام.
کارکرد این دو دستور کامل باهم تفاوت دارند.
Select Into اگر جدول نباشه اونو ایجاد میکنه و داده ها رو منتقل میکنه و اگر جدول باشه به شما خطا میده.
ولی در Insert Into باید جدول موجود باشه و اگر نباشه به شما خطا میده.
به جز این در Select Into کل ساختار جدول رو ایجاد نمیکنه ، کلیدها رو منتقل نمیکنه و مشکلاتی این چنینی داره که باید خودتون بعدا اونها رو ایجاد کنید.
به نظرم راه حل دوم مطمئن تر هست مگر اینکه برای کاربردهای خاصی یا یک راهکار خاص بخواهید از مورد اول استفاده کنید