آژانس هواپیمایی
pop up

مرتب کردن Mysql

شروع موضوع توسط mehrzad22 ‏17 نوامبر 2007 در انجمن PHP

  1. mehrzad22

    mehrzad22 Registered User

    تاریخ عضویت:
    ‏8 نوامبر 2007
    نوشته ها:
    680
    تشکر شده:
    100
    دوستان من یک table دارم که فیلد های زیادی بهش اضافه میشه و متقابلن هر چند دقیقه برخی فیلد ها هم حذف میشه . احتمالن پس از مدتی به خاطر به هم ریختن نظم ID ها سرعت سرچ و بازده table کم میشه و باید از نو مرتب شن فیلد ها . برای این مرتب سازی چه کاری باید انجام بدم؟ آیا اسکریپت اماده ای هست یا باید بنویسم ؟
     
  2. peymanafraz

    peymanafraz کاربر تازه وارد

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

    کد:
    SELECT * FROM info ORDER BY strName ASC
    
    کوئري بالا تمام رکوردهاي جدول info رو با فيلد strName بصورت صعودي سورت ميکنه و بهتون تحويل ميده.
    الان ديگه ترتيب توي ديتابيس معني نداره. ترتيب يه جدول ميتونه طبق هر فيلدي متفاوت با بقيه باشه. پس فکر سورت کردن ديتابيس تقريبا ميشه گفت معني نداره.
     
  3. mehrzad22

    mehrzad22 Registered User

    تاریخ عضویت:
    ‏8 نوامبر 2007
    نوشته ها:
    680
    تشکر شده:
    100
    دوست من ممنون از جوابت . منظور من این نوع ترتیب نبود .
    این که من هر روز تعداد زیادی item به دیتا بیس اضافه می کنم و تعداد زیادی هم حذف می کنم بعد از مدتی مشکلی ایجاد نمیکنه ؟ یعنی نیاز نیست پس از مدتی یک بهینه سازی یا مرتب سازی انجام بگیره تا سرعت سرچ و غیره پایین نیاد ؟
     
  4. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    فیلد id ات رو index کن با اینکار سرعت مناسبی برات ایجاد میشه البته حذف و اضافه زیاد فکر نکنم رو سرعت خیلی تاثیر بگذاره.
     
  5. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    پس فکر کردی optimize دیتابیس برای چیه؟
     
  6. mehrzad22

    mehrzad22 Registered User

    تاریخ عضویت:
    ‏8 نوامبر 2007
    نوشته ها:
    680
    تشکر شده:
    100
    منم سوالم همینه شهد جان . چطوری optimize دیتابیس کنم ؟
     
  7. boxilink
  8. weblizard

    weblizard کاربر تازه وارد

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

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    توی PHP :
    PHP:
    mysql_query("OPTIMIZE TABLE '".$tablename."'")
    با خود SQL :
    کد:
     
    OPTIMIZE TABLE tbl_name
    
     
  10. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    برای سرچ که فول تکست هست ! خودش هم کار ایندکس رو تا حدی انجام میده دیگه بخوای و نخوای !!
    این ایندکس کردن ستون ها سر سلکت کردن هم خیلی به کار میاد. خصوصا وقتی که تعداد سطرها خیلی زیاد باشه !
     
  11. weblizard

    weblizard کاربر تازه وارد

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

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    اینکارو بدون کد نویسی میتونی از خود phpmayadmin هم انجام بدی.
     
  13. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    و همینطور هم از توی cpanel !!
     
  14. avajang.com .leftavajang.com.right
  15. mehrzad22

    mehrzad22 Registered User

    تاریخ عضویت:
    ‏8 نوامبر 2007
    نوشته ها:
    680
    تشکر شده:
    100


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

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    اگه اشتباه نکنم وقتی وارد phpmayadmin میشی جداولت رو که باز میکنی اونجا اگه مرمت یا بهینه سازی لازم داشته باشه میگه . با چه کدی میفهمه رو نمیدونم اما !!
     
  17. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    اون فقط به overload تیبل ها نگاه میکنه. همین.
     
  18. hossein_asp

    hossein_asp کاربر تازه وارد

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