PDA

View Full Version : زمان نرمال یه کوئری



notlikeothers
سه شنبه 21 مهر 1394, 15:15 عصر
درود.
زمان نرمال یه کوئری با یه سلکت و شرط where از یه دیتا بیس با چهار میلیون رکورد چقدر هست حدودا؟
از همه روش های بهینه سازی هم استفاده شده باشه( index,...)
اگه روشهای بهینه سازی سرعت کوئری رو هم ذکر کنید ممنون میشم

reza_ali202000
چهارشنبه 22 مهر 1394, 13:57 عصر
بسته به سی پی یو و رم سیستم و همچنین نوع شرطتون که روی چه نوع متغیری باشه هست.
به طور متوسط در بدترین شرایط 2 تا 10 دقیقه!
با تمام موارد استاندارد شده 2 تا 10 ثانیه!
(تست شده روی داده یکی از بانکها)

notlikeothers
چهارشنبه 22 مهر 1394, 16:05 عصر
من با کلی رعایت نکات زمان و به 1.5 ثانیه رسوندم فک کردم زیاده.پس 1.5 ثانیه خوبه(Ram=8gb,cpu=cori3 3.3 ghz)

elena
یک شنبه 10 آبان 1394, 22:09 عصر
شما زمان کوئری رو چطوری بدست میارید،یعنی از کجا میدونید؟

notlikeothers
دوشنبه 11 آبان 1394, 08:34 صبح
SET STATISTICS TIME ON

بزار اول یا اخر کوئری .بعد اجرا قسمت مسج رو ببین تایم رو داده.البته این تایم کمتر از مقدار واقعی هستش چون کش داره واسه بدست اوردن مقدار واقعی زمان، اول کش خالی کن بعد کوئری رو اجرا کن.کد خالی کردن کش sql:

checkpoint
dbcc DROPCLEANBUFFERS
checkpoint

elena
دوشنبه 11 آبان 1394, 21:19 عصر
SET STATISTICS TIME ON

بزار اول یا اخر کوئری .بعد اجرا قسمت مسج رو ببین تایم رو داده.البته این تایم کمتر از مقدار واقعی هستش چون کش داره واسه بدست اوردن مقدار واقعی زمان، اول کش خالی کن بعد کوئری رو اجرا کن.کد خالی کردن کش sql:

checkpoint
dbcc DROPCLEANBUFFERS
checkpoint
این کدی که گفتین نوشتم و اجرا کردم ولی هیچی تو مسیج نشون نداد

elena
دوشنبه 11 آبان 1394, 21:34 عصر
insert into dars(code_dars,name_dars)values(@code_dars,@name_d ars)
SET STATISTICS TIME ON
END

notlikeothers
سه شنبه 12 آبان 1394, 08:34 صبح
create procedure test
as
begin
set STATISTICS time on
insert into dars(code_dars,name_dars)values(@code_dars,@name_d ars)
end

جواب میده تست کردم

elena
سه شنبه 12 آبان 1394, 19:58 عصر
create procedure test
as
begin
set STATISTICS time on
insert into dars(code_dars,name_dars)values(@code_dars,@name_d ars)
end

جواب میده تست کردمفقط اینو تو مسیج نشون میده
Command(s) completed successfully.
:متفکر:

reza_ali202000
سه شنبه 12 آبان 1394, 23:56 عصر
اون دکمه سبزه رو بزنید بهتون نشون میده.
نیازی به این کار هم نیست. توی خود محیط اس کیو ال سرور زمانی که کوئری اجرا کنید قسمت پایین سمت چپ زمان اجرا رو میزنه.

notlikeothers
چهارشنبه 13 آبان 1394, 08:36 صبح
اون دکمه سبزه رو بزنید بهتون نشون میده.
نیازی به این کار هم نیست. توی خود محیط اس کیو ال سرور زمانی که کوئری اجرا کنید قسمت پایین سمت چپ زمان اجرا رو میزنه.

قسمت پایین سمت راست اگه منظورتونه که زمان زیر یک ثانیه رو نمیده.بیشتر از یک ثانیه رو میده

Rejnev
شنبه 16 آبان 1394, 22:01 عصر
ساختار جدول، نوع فیلدها، ایندکسهایی که روی فیلدها هست (دقیق عنوان بشه)، خود کوئری، سخت افزار، تعداد رکوردهایی که در خروجی میاد، Execution plan و ... رو عنوان کنید تا بهتر بشه نظر داد.
همیشه راه برای افزایش سرعت (نرم افزاری) هست.