برگزیده های پرشین تولز

مرتب کردن Mysql

mehrzad22

Registered User
تاریخ عضویت
8 نوامبر 2007
نوشته‌ها
687
لایک‌ها
95
دوستان من یک table دارم که فیلد های زیادی بهش اضافه میشه و متقابلن هر چند دقیقه برخی فیلد ها هم حذف میشه . احتمالن پس از مدتی به خاطر به هم ریختن نظم ID ها سرعت سرچ و بازده table کم میشه و باید از نو مرتب شن فیلد ها . برای این مرتب سازی چه کاری باید انجام بدم؟ آیا اسکریپت اماده ای هست یا باید بنویسم ؟
 

peymanafraz

کاربر تازه وارد
تاریخ عضویت
28 دسامبر 2005
نوشته‌ها
137
لایک‌ها
0
محل سکونت
$strHome
دوست من نيازي نيست شما جدل رو با جابجا کردن رکوردها مرتب کنين. کافيه موقع خوندن فيلدها اونا رو مرتب شده بخونين با دستورات SQL. مثلا اگه يه جدول مشخصات دارين ميشه با کوئري زير نتيجه رو طبق هر فيلدي که ميخواين مرتب شده تحويل بگيرين.

کد:
SELECT * FROM info ORDER BY strName ASC

کوئري بالا تمام رکوردهاي جدول info رو با فيلد strName بصورت صعودي سورت ميکنه و بهتون تحويل ميده.
الان ديگه ترتيب توي ديتابيس معني نداره. ترتيب يه جدول ميتونه طبق هر فيلدي متفاوت با بقيه باشه. پس فکر سورت کردن ديتابيس تقريبا ميشه گفت معني نداره.
 

mehrzad22

Registered User
تاریخ عضویت
8 نوامبر 2007
نوشته‌ها
687
لایک‌ها
95
دوست من نيازي نيست شما جدل رو با جابجا کردن رکوردها مرتب کنين. کافيه موقع خوندن فيلدها اونا رو مرتب شده بخونين با دستورات SQL. مثلا اگه يه جدول مشخصات دارين ميشه با کوئري زير نتيجه رو طبق هر فيلدي که ميخواين مرتب شده تحويل بگيرين.

کد:
SELECT * FROM info ORDER BY strName ASC

کوئري بالا تمام رکوردهاي جدول info رو با فيلد strName بصورت صعودي سورت ميکنه و بهتون تحويل ميده.
الان ديگه ترتيب توي ديتابيس معني نداره. ترتيب يه جدول ميتونه طبق هر فيلدي متفاوت با بقيه باشه. پس فکر سورت کردن ديتابيس تقريبا ميشه گفت معني نداره.
دوست من ممنون از جوابت . منظور من این نوع ترتیب نبود .
این که من هر روز تعداد زیادی item به دیتا بیس اضافه می کنم و تعداد زیادی هم حذف می کنم بعد از مدتی مشکلی ایجاد نمیکنه ؟ یعنی نیاز نیست پس از مدتی یک بهینه سازی یا مرتب سازی انجام بگیره تا سرعت سرچ و غیره پایین نیاد ؟
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
39
محل سکونت
جایی که خدا نباشد
فیلد id ات رو index کن با اینکار سرعت مناسبی برات ایجاد میشه البته حذف و اضافه زیاد فکر نکنم رو سرعت خیلی تاثیر بگذاره.
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
دوست من ممنون از جوابت . منظور من این نوع ترتیب نبود .
این که من هر روز تعداد زیادی item به دیتا بیس اضافه می کنم و تعداد زیادی هم حذف می کنم بعد از مدتی مشکلی ایجاد نمیکنه ؟ یعنی نیاز نیست پس از مدتی یک بهینه سازی یا مرتب سازی انجام بگیره تا سرعت سرچ و غیره پایین نیاد ؟
پس فکر کردی optimize دیتابیس برای چیه؟
 

weblizard

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2007
نوشته‌ها
6
لایک‌ها
0
دوست عزیز برای سرعت بیشتر بهتره اون فیلدهایی كه سرچ روی اونها انجام میشه رو ایندكس كنی در ضمن حذف و اضافه كردن اطلاعات به تیبل آنچنان در پرفرمنس تاثیر نمی گذاره ولی انتخاب ایندكس چرا
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
دوست عزیز برای سرعت بیشتر بهتره اون فیلدهایی كه سرچ روی اونها انجام میشه رو ایندكس كنی در ضمن حذف و اضافه كردن اطلاعات به تیبل آنچنان در پرفرمنس تاثیر نمی گذاره ولی انتخاب ایندكس چرا
برای سرچ که فول تکست هست ! خودش هم کار ایندکس رو تا حدی انجام میده دیگه بخوای و نخوای !!
این ایندکس کردن ستون ها سر سلکت کردن هم خیلی به کار میاد. خصوصا وقتی که تعداد سطرها خیلی زیاد باشه !
 

weblizard

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2007
نوشته‌ها
6
لایک‌ها
0
دوستمون مشخص نكردن كه فیلدهاشون از چه نوعی بودن ، منم بصورت كلی توضیح دادم;)
 

mehrzad22

Registered User
تاریخ عضویت
8 نوامبر 2007
نوشته‌ها
687
لایک‌ها
95


از جواب شما و دیگر دوستان ممنون هستم . جدول من مقادیرش text , int هست . چند وقت یک بار باید از این دستورات استفاده کنم ؟
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
39
محل سکونت
جایی که خدا نباشد
از جواب شما و دیگر دوستان ممنون هستم . جدول من مقادیرش text , int هست . چند وقت یک بار باید از این دستورات استفاده کنم ؟

اگه اشتباه نکنم وقتی وارد phpmayadmin میشی جداولت رو که باز میکنی اونجا اگه مرمت یا بهینه سازی لازم داشته باشه میگه . با چه کدی میفهمه رو نمیدونم اما !!
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
اگه اشتباه نکنم وقتی وارد phpmayadmin میشی جداولت رو که باز میکنی اونجا اگه مرمت یا بهینه سازی لازم داشته باشه میگه . با چه کدی میفهمه رو نمیدونم اما !!
اون فقط به overload تیبل ها نگاه میکنه. همین.
 

hossein_asp

کاربر تازه وارد
تاریخ عضویت
31 مارس 2005
نوشته‌ها
639
لایک‌ها
0
سن
39
محل سکونت
جایی که خدا نباشد
اون فقط به overload تیبل ها نگاه میکنه. همین.

خوب چطور متوجه این سربار اضافه میشه فانکشنی که براش نتونستم پیدا کنم.برا خودشون مکانیزیمی در سرعت و عوامل دیگه در محاسبه دارن؟
 
بالا