ورود

View Full Version : Ask About Group By Performance Tips



ealireza
پنج شنبه 06 اردیبهشت 1386, 18:42 عصر
سلام
من در دیتابیسم یک سری از تاریخها رو بصورت زیر ذخیره میکنم


200701
200702
200703
200704
200705
که چهارتای اول سال و دوتای دوم ماه هست
حالا اگر بخوام از اینا یک گروپ بگریم با


Group By Date Order by Date Desc
اگر نوع فیلد char با فضای 6 کارکتر سریع تر کار میکنه یا اگر جنس INT باشه ؟

لطفا اساتید در این زمینه راهنمایی بفرمایند که از چه نوع DATATYPE استفاده کنم

AminSobati
پنج شنبه 06 اردیبهشت 1386, 22:23 عصر
در حقیقت هر دو Typeی که عنوان کردین Fixed Length هستند و همچنین طولشون کمه. البته int به اندازه 2 بایت هم کوچکتره (4 بایت کلا). در کل فرقشون در عملیات مقایسه مثل Group By زیاد نیست. به نظر من داشتن یک ایندکس مناسب بسیار تعیین کننده تره در سرعت تا اینکه روی جنسش سخت گیری کنیم. اما int رو بیشتر میپسندم چون اعداد کمی مقایسشون سریعتره تا کاراکتر. ولی بازهم تاکید میکنم این انتخاب سرنوشت ساز نیست!
ولی اگر قصد دارید موقع نمایش به کاربر، مثلا تاریخ رو با / بین سال و ماهش فاصله بندازین، بهتره بصورت کاراکتری و به همراه / ذخیره کنین تا موقع Qeury نیاز به ویرایش روی تاریخ نداشته باشید.

ealireza
پنج شنبه 06 اردیبهشت 1386, 22:25 عصر
مرسی استاد
بنا به نظر شما از Smallint استفاده کردم

با تشکر

AminSobati
پنج شنبه 06 اردیبهشت 1386, 22:42 عصر
عزیزم smallint که کمه! تا 32000 بیشتر جواب نمیده. یعنی مثلا مقدار 200701 به int حداقل نیاز داره