PDA

View Full Version : سوال: راهی برای حذف کردن ایندکس های دیتابیس !



prans.info
چهارشنبه 16 اردیبهشت 1394, 15:48 عصر
سلام وقت بخیر
ما یه دیتابیس (mysql) داریم با 6 میلیون رکورد که بعضی از ایندکس بندی هاش درست نیست و نیاز هست اونا حذف بشن و از اول ایندکس بندی بشه .
من تویه اینترنت و انجمن سرچ کردم و چیزی در این مورد نتونستم پیدا کنم .
آیا راهی وجود داره برای اینکار ؟:لبخند:
پیشاپیش سپاس از شرکتتون در تاپیک

Unique
چهارشنبه 16 اردیبهشت 1394, 21:45 عصر
معلومه که هست !‌ باید کد sql بنویسین ولی اگه هلو برو تو گلو میخوای نرم افزار MySQL Workbench (https://dev.mysql.com/downloads/workbench/) را نصب و وصل بشو به Database و ساختار و ایندکس و هر چیزی را هر جور دوست داری تغییر بده.

[younes]
پنج شنبه 17 اردیبهشت 1394, 06:13 صبح
اگر ممکنه یکی بگه ایندکس ها چی هستن و به چه دردی میخورند؟

هیچ وقت نمی دونستم ولی اجبارا تو رابطه ها استفاده میکردم.:متفکر:

[younes]
پنج شنبه 17 اردیبهشت 1394, 06:18 صبح
در ضمن اگر اوراکل لعنتی مای اس کیو ال خریده باشه تکلیف رایگان بودنش چی میشه؟

MMSHFE
پنج شنبه 17 اردیبهشت 1394, 08:13 صبح
MySQL رایگان خواهد بود ولی اگه دنبال رشد هستین، بهتره به MariaDB کوچ کنید و نسل جدید MySQL محسوب میشه و توسط تیم توسعه اصلی MySQL تولید شده.

prans.info
پنج شنبه 17 اردیبهشت 1394, 11:08 صبح
MySQL رایگان خواهد بود ولی اگه دنبال رشد هستین، بهتره به MariaDB کوچ کنید و نسل جدید MySQL محسوب میشه و توسط تیم توسعه اصلی MySQL تولید شده.
ماریا دی بی هم مثل اوراکل نصبش سخته ؟

MMSHFE
پنج شنبه 17 اردیبهشت 1394, 12:00 عصر
نه همه کارهاش مثل MySQL هست.

پاورقی: My اسم دختر اول سازنده اصلی این DBMS هست و Maria اسم دختر دومش.

فرزند کوروش
پنج شنبه 17 اردیبهشت 1394, 12:09 عصر
My هم شد اسم؟؟(my name is my) :|
اسم بايد اصغر باشه اکبر باشه
پوزش بابت اسپم

MMSHFE
پنج شنبه 17 اردیبهشت 1394, 12:29 عصر
این اسم، اونجا معنا داره لابد. حالا خوبه خارجیها هم بگن «قلی» هم شد اسم (با احترام به همه قلی های ایران) و باید اسم Stephan یا Michael باشه؟! بعدم این آقا انگلیسی نیست که دخترش بخواد بگه My name is My !

Unique
پنج شنبه 17 اردیبهشت 1394, 14:05 عصر
ر ممکنه یکی بگه ایندکس ها چی هستن و به چه دردی میخورند؟
اگه بخوام ساده بگم ! ایدکس گذاری (البت هایندکس گذاری صحیح ن هاینکه هر چیزی را ایندکس کنید) تاثیر بسیار زیادی توی سرعت اجرا query ها خواهد گذاشت و به شدت روی performance پایگاه داده تاثیر گذاره. حجم پایگاه داده را افزایش میده اما در بسیاری از سناریو ها قابل چشم پوشیه. کلا اگه در مورد ایندکس ها اطلاعات ندارین واقعا در پروژه های متوسط به بالا (حتی برخی پروژه های کوچک) به مشکل میخورین.

behnamy01
پنج شنبه 17 اردیبهشت 1394, 14:33 عصر
@prans-info چرا از خود phpmyadmin استفاده نمی کنید؟ توی قسمت structure اون table تون، میتونید index بگذارید روی فیلد ها یا بردارید، کوئریش رو هم خودش بعدش میده، اینجوری میتونی از این به بعد اون کوئری رو اگر حفط نیستید توی کدهای php استفاده کنی.

prans.info
پنج شنبه 17 اردیبهشت 1394, 14:51 عصر
@prans-info چرا از خود phpmyadmin استفاده نمی کنید؟ توی قسمت structure اون table تون، میتونید index بگذارید روی فیلد ها یا بردارید، کوئریش رو هم خودش بعدش میده، اینجوری میتونی از این به بعد اون کوئری رو اگر حفط نیستید توی کدهای php استفاده کنی.
از phpmyadmin فقط میشه اضافه کرد و جایی رو تویه structure ندیدم برای حذف ایندکس ها ، اگه مقدور هست بیشتر توضیح بدید .
یک مورد عجیب هم که دیدم این بود که وقتی یک فیلد ایندکس داره و دوباره رو ایندکس کلیک کنی ایندکس های جدول دوتا میشه !!!
هر چند تا کلیک کنی اونقدر برای یک فیلد ایندکس میسازه !!!
این مورد رو از تویه فایل ایکسپورت شده متوجه شدم .
البته در مورد ایندکس یونیک اینطوری نیست و اجازه نمیده ...

behnamy01
پنج شنبه 17 اردیبهشت 1394, 15:05 عصر
از phpmyadmin فقط میشه اضافه کرد و جایی رو تویه structure ندیدم برای حذف ایندکس ها ، اگه مقدور هست بیشتر توضیح بدید .
یک مورد عجیب هم که دیدم این بود که وقتی یک فیلد ایندکس داره و دوباره رو ایندکس کلیک کنی ایندکس های جدول دوتا میشه !!!
هر چند تا کلیک کنی اونقدر برای یک فیلد ایندکس میسازه !!!
این مورد رو از تویه فایل ایکسپورت شده متوجه شدم .
البته در مورد ایندکس یونیک اینطوری نیست و اجازه نمیده ...
برای حذف index ها، بعد از اینکه به structure رفتید، پایین جدول، یک لینک مانندی به اسم indexes میاد، اونو بزنید، و بعدش ایندکسی که میخواین رو DROP کنید.