PDA

View Full Version : بهینه ترین روش مقداردهی به طول یا مقدار نوع یک فیلد در دیتابیس



abbas3zaar
شنبه 22 اسفند 1394, 09:47 صبح
سلام. من همیشه نمیدونستم وقتی مثلا نام کاربری فیلدش چقدر باید مقدار بدیم و از چه نوعی بهتره بزاریم تا دیتابیس هم حجمش بهینه باشه.
برای همین این تاپیک رو زدم تا دوستان راهنمایی کنن.

http://8pic.ir/images/7paexsdbjtf3gl6vpbl2.jpg

من در زیر لیست فیلد های مهم رو مینویسم لطفا دوستان در جواب جلوشون مقدار و نوع فیلد رو بنویسن:


جدول کاربران:

شناسه کاربر (UserID)
نام کاربری
رمز عبور
ایمیل
نام
نام خانوادگی
تلفن (ثابت و موبایل)
تاریخ تولد
تاریخ عضویت
جنسیت
تصویر کاربر (آواتار)
نوع دسترسی کاربر (مدیرکل ، کاربر معمولی، ناظم و کاربر ویژه و...)
وضعیت فعال بودن حساب کاربری (user_status) حالا میتونه مقدار 0 یا 1 داشته باشه که فعاله یا غیر فعال
کد فعال سازی حساب (activation_key تولید به صورت رندوم در هنگام ثبت نام و ارسال لینک به ایمیل)
استان
شهر
آدرس کامل
کد پستی

--------------------------------------------------------------------------------------------------

جدول مطالب یا محصولات:

id
post_title
post_date
post_content
post_author
post_status
comment_status
comment_count
post_category_id
post_image
post_tags

-------------------------------------------------

جدول دیدگاه ها:

comment_ID
comment_post_ID
comment_author
comment_author_email
comment_author_url
comment_author_IP
comment_date
comment_content
comment_approved
user_id

Farshid007
یک شنبه 23 اسفند 1394, 04:32 صبح
متن ها را VARCHAR و اعداد را INT
طول رشته هم هر مقدار که نیازه بدید دیگه خب

abbas3zaar
یک شنبه 23 اسفند 1394, 08:07 صبح
متن ها را VARCHAR و اعداد را INT
طول رشته هم هر مقدار که نیازه بدید دیگه خب

مقدارش مهمه دیگه. مثلا من دیدم یجایی ID رو BIGINT گرفتن یجا INT و مقدار 3 مثلا. چرا BIGINT ؟؟؟؟
مثلا م میزنیم VARVHAR 255 مقدارش رو یعنی 255 کلمه؟ مثلا من در اعتبار سنجی فرم نام کاربری رو محدود کردم به 30 کلمه بیشتر نشه پس نیازی نیست 255 بزنم توی دیتابیس؟
شماره تلفن ها رو میشه INT بگیرم؟
تصاویر مطلب از چه نوعی باشد باشد؟

Farshid007
دوشنبه 24 اسفند 1394, 06:56 صبح
شماره تلفن کد پستی اینجور چیزارو که اون مقدار عددی اش مهم نیست VARCHAR بگیر
INT BIGINT FLOAT DOUBLE و ... اینا همشون برای زمانی هستند که مقدار عددی برای محاسبات لازم میشه یعنی بیشتر وارد ریاضیاتش کنی ولیو رو هر کدومشون هم رنج خاصی دارن که تو خود PHPmyADMIN میگه رنجش چقدر هست با توجه به نیازت انتخاب میکنی از همه مهمتر هم فیلد ID هست معمولن از نوع INT میگیرند چون رنجش مناسبه
اما در مورد شماره تلفن یا کد پستی و امثال اینها نباید به دید یک عدد بهشون نگاه کنیم چون با مقدار عددیش کاری نداریم و اینو با اینکه میدونیم عدد است اما ما رشته درنظر میگیرمشون بهترین نوع VARCHAR هست طولشو هم بازم بسته به نیازتون انتخاب کنید (طول همان تعداد کاراکتر ها هست ن کلمات مثلن کاراکتر اسپیس خودش یک طول می اندازه)
تصاویرو وارد دیتابیس نکنید
تصاویر بصورت باینری باید ذخیره بشند کد های باینری هم واقعن سنگینه و باعث افت سرعت میشه
تصاویرو اپلود کنید و آدرس اونهارو تو تیبل ذخیره کنید
هم سادس هم افت سرعت نداره هم اینکه اصولی تره
موفق باشد