ورود

View Full Version : سوال: طراحی دیتابیس برای ثبت ردیفهای بیشتر از 1 میلیون و اجرای سریع کوئری ها



idocsidocs
پنج شنبه 17 شهریور 1390, 00:33 صبح
دیتابیس رو چطور باید طراحی کنیم تا برای ثبت ردیفهای بیشتر از 1 میلیون، کوئری ها رو در کمتر از یک دهم ثانیه اجرا کنه؟

لطفا روشهای متداول رو توضیح بدید.

anouri
سه شنبه 05 مهر 1390, 00:46 صبح
البته باید عرض کنم یک میلیون برای دیتابیس عددی نیستش با این اوصاف روشهای optimize کردن رو براتون مینویسم

1- سعی کنید فیلدهایی که forigen key واقع میشوند رو ایندکس کنید.
2- کوئریهاتون رو بهینه بنویسید میتونید از
explain در ابتدای هر کوئری بفهمید که mysql چطوری داره برخورد میکنه و از کدوم ایندکس ها استفاده میکنه و به این طریق کوئریتون رو بهینه بنویسید
3- هیچوقت در نرم افزارتون همه رکوردها رو لود نکنید بفرض هم لود کردید کاربر میخواد چه کنه با این همه رکورد همون کاری رو بکنید که google میکنه یعنی صفحه بندی اطلاعات به تعداد خیلی محدود
4- جداولتون نرمال سازی شده باشن و redundant نداشته باشن و ...

شما همینا رو هم که رعایت کنید سرعتتون خیلی خوب میشه