نمایش نتایج 1 تا 20 از 20

نام تاپیک: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

  1. #1
    کاربر دائمی آواتار aroshanzamir
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    شیراز
    پست
    462

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

    سلام دوستان

    برای ذخیره شماره موبایل و کد ملی از چه تایپی در دیتابیس و سی شارپ استفاده کنم

    دوستان دمتون گرم دلیل انتخاب اون تایپ هم بگید

    با تشکر از همه شما

  2. #2

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    سلام
    نوع String بهترین هست
    چون این ها اعداد بزرگی هستن و متغیر عددی نمیتونه اون ها رو نگه داری کنه و تنها راه شما متغیر های رشته ای هستن
    با سپاس Spaceman

  3. #3
    کاربر دائمی آواتار aroshanzamir
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    شیراز
    پست
    462

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    تایپ Decimal من امتحان کردم می تونه
    این شماره ها را توخودش نگه داره که ؟

  4. #4

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط aroshanzamir مشاهده تاپیک
    تایپ Decimal من امتحان کردم می تونه
    این شماره ها را توخودش نگه داره که ؟
    امکانش هست ولی با 0 اول شماره تلفن ها به مشکل میخورد بهترین راه همونه که دوستمون بالا تر گفتن .

  5. #5
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    سلام
    اگر حجم اطلاعات زیاد نیست String راحت است در غیر اینصورت اشتباه است (بعلت حجم داده ها / حجم ایندکسهای مرتبط / سایز Packet ها در شبکه / ... ) و بهترین انتخاب int است چون 4 بایت است به شکل نگاه کنید اختلاف را متوجه می شوید در ضمن چون طول شماره موبایل و کد ملی ثابت است (هردو 10 رقم هستند) در هنگام دریافت با دستور Select خودتان با صفر پشت عدد موضوع را هندل کنید
    عکس های ضمیمه عکس های ضمیمه

  6. #6

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    با احترام به نظر دوستان به نظر من
    varchar(10)
    بهتر هست چون اگه مقداری در اونها ذخیره نشه حجمی که اون فیلد اشغال میکنه صفر میشه و حجم دیتابیس رو بی خودی زیاد نمیکنه.

  7. #7

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    باز هم مسئله اینه که اگر اطلاعات ذخیره بشه کدوم بهینه تر هست. توی عکسی که ASKaffash گذاشتن Length رو مقایسه کنید متوجه میشید کدوم حجم کمتری اشغال میکنه.

  8. #8
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط aroshanzamir مشاهده تاپیک
    سلام دوستان

    برای ذخیره شماره موبایل و کد ملی از چه تایپی در دیتابیس و سی شارپ استفاده کنم

    دوستان دمتون گرم دلیل انتخاب اون تایپ هم بگید

    با تشکر از همه شما
    اگه از SqlServer استفاده میکنید بهتره از نوع داده ی bigint استفاده کنید (تنها 8 بایت از حافظه رو مصرف میکنه) در حالیکه با توجه به طول شماره موبایل (10 کارکتر بدون احتساب 0 ابتدا) در صورت ذخیره بصورت String ما نیاز به 22 بایت فضا داریم (هر کارکتر 2 بایت رو اشغال میکنه).
    از نوع داده ی int هم نمیتونید استفاده کنید چون نهایت مقداری که میتونه بگیره 2,147,483,647 است.
    با توجه به شروع شدن شماره ها از 9 لذا بهترین انتخاب نوع داده ی biginit است.

  9. #9

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    باز هم مسئله اینه که اگر اطلاعات ذخیره بشه کدوم بهینه تر هست. توی عکسی که ASKaffash گذاشتن Length رو مقایسه کنید متوجه میشید کدوم حجم کمتری اشغال میکنه.
    درست می فرمایید ولی برای جستجو یکی از اساتید من میگفتند که varchar بهتر عمل میکنه. نظر شما چیه؟

  10. #10
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط gjmkdyttyhujk مشاهده تاپیک
    درست می فرمایید ولی برای جستجو یکی از اساتید من میگفتند که varchar بهتر عمل میکنه. نظر شما چیه؟
    مطمئنا هرچی طول یک فیلد کوتاهتر باشه توی جستجو سریعتر به جواب میرسید. بین داده های عددی و الفبایی همیشه داده های عددی سریعتر توی جستجو ظاهر میشن اگر قرار بود varchar بهتر عمل کنه پس چرا کلید اصلی جدول رو از نوعهای شمارشی تعیین میکنیم؟؟؟!!!

  11. #11

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط alireza_s_84 مشاهده تاپیک
    مطمئنا هرچی طول یک فیلد کوتاهتر باشه توی جستجو سریعتر به جواب میرسید. بین داده های عددی و الفبایی همیشه داده های عددی سریعتر توی جستجو ظاهر میشن اگر قرار بود varchar بهتر عمل کنه پس چرا کلید اصلی جدول رو از نوعهای شمارشی تعیین میکنیم؟؟؟!!!
    اینی که من گفتم صرفا یه چیزی بود که من شنیده بودم، تاکیدی روش ندارم، صرفا خواستم کمکی کرده باشم.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط alireza_s_84 مشاهده تاپیک
    مطمئنا هرچی طول یک فیلد کوتاهتر باشه توی جستجو سریعتر به جواب میرسید. بین داده های عددی و الفبایی همیشه داده های عددی سریعتر توی جستجو ظاهر میشن اگر قرار بود varchar بهتر عمل کنه پس چرا کلید اصلی جدول رو از نوعهای شمارشی تعیین میکنیم؟؟؟!!!
    برای انتخاب نوع داده فیلد، حجمی که اشغال میکنه در اولویت آخر هست. مخصوصا اینکه اختلاف در حد چند بایت باشه.
    ماهیت کد ملی و شماره موبایل عددی نیست (مثلا قرار نیست ضرب و تقیستمشون کنید) که بخواین به صورت عدد ذخیره کنید.هر دو رشته هایی هستن که کاراکترها عددی دارن.برای جستجو هم رشته باشن احتمالا سریعتر هست.
    کلید های اصلی رو هم اگه بدون توجه به ماهیت و فیلدهای جدول، یک نوع شمارشی تعیین میکنید اشتباه میکنید.زمانی که فیلد یا فیلدهای مناسبی برای انتخاب به عنوان کلید اصلی نباشه ناچارا یک فیلد ID اضافه میشه که عددی انتخاب میشه چون معمولا قراره Auto Increment باشه و البته در پیاده سازی هم کار کردن با کلید عددی میتونه راحتتر باشه.این قضیه ربطی به سرعت نداره.
    ----
    شما میتونی از تایپ varchar با طول 10 یا هرچقدر که فکر میکنید مقدار مورد نظر داره (کد ملی 10 هست ولی خوب موبایل بستگی داره...) و در #C هم string.

  13. #13
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    سلام
    درست است Bigint بهتر است ولی اگر عدد مثبت باشد 2,147,483,647 دو برابر می شود

  14. #14
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط plus مشاهده تاپیک
    برای انتخاب نوع داده فیلد، حجمی که اشغال میکنه در اولویت آخر هست. مخصوصا اینکه اختلاف در حد چند بایت باشه.
    ماهیت کد ملی و شماره موبایل عددی نیست (مثلا قرار نیست ضرب و تقیستمشون کنید) که بخواین به صورت عدد ذخیره کنید.هر دو رشته هایی هستن که کاراکترها عددی دارن.برای جستجو هم رشته باشن احتمالا سریعتر هست.
    کلید های اصلی رو هم اگه بدون توجه به ماهیت و فیلدهای جدول، یک نوع شمارشی تعیین میکنید اشتباه میکنید.زمانی که فیلد یا فیلدهای مناسبی برای انتخاب به عنوان کلید اصلی نباشه ناچارا یک فیلد ID اضافه میشه که عددی انتخاب میشه چون معمولا قراره Auto Increment باشه و البته در پیاده سازی هم کار کردن با کلید عددی میتونه راحتتر باشه.این قضیه ربطی به سرعت نداره.
    ----
    شما میتونی از تایپ varchar با طول 10 یا هرچقدر که فکر میکنید مقدار مورد نظر داره (کد ملی 10 هست ولی خوب موبایل بستگی داره...) و در #C هم string.
    پس حتما با نوشتن یک کوئری برای هر دو نوع ذکر شده نتیجه رو ببینید!!!
    http://ask.sqlservercentral.com/ques...vs-bigint.html
    آخرین ویرایش به وسیله alireza_s_84 : شنبه 17 خرداد 1393 در 11:22 صبح

  15. #15
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    برای انتخاب نوع داده فیلد، حجمی که اشغال میکنه در اولویت آخر هست. مخصوصا اینکه اختلاف در حد چند بایت باشه.
    جدولی با 10،000،000 رکورد داریم:
    یک فیلد خواهیم داشت از نوع bigint که تنها 4 بایت رو اشغال میکنه حجم دیتابیس ما == چیزی حدود 38 مگابایت
    اگر فیلد از نوع varchar10 باشد فضای اشغالی 22 بایت خواهد بود حجم دیتابیس ما == حدود 210 مگابایت
    این تنها و تنها فقط برای یک ستون بود پس یادتون باشه خیلی خیلی مهمه که حجم اشغالی رو توی الویت آخر قرار ندین.

  16. #16

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    دوستان با این گفته های شما باید نوع داده ای انتخاب بشه که تمامی ویژگی ها رو داشته باشه. یعنی اینکه هم سرعت دستیابی در اون بالا باشه. حجم کمی رو اشغال کنه. برای عملیاتی که میخواهیم انجام بدهیم کارایی داشته باشه. نباید تنها یک ویژگی رو درنظر گرفت. دوستان لطفا نظر بدن تا به یک نتیجه ی خوبی برسیم.

  17. #17
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط gjmkdyttyhujk مشاهده تاپیک
    دوستان با این گفته های شما باید نوع داده ای انتخاب بشه که تمامی ویژگی ها رو داشته باشه. یعنی اینکه هم سرعت دستیابی در اون بالا باشه. حجم کمی رو اشغال کنه. برای عملیاتی که میخواهیم انجام بدهیم کارایی داشته باشه. نباید تنها یک ویژگی رو درنظر گرفت. دوستان لطفا نظر بدن تا به یک نتیجه ی خوبی برسیم.
    انتخاب نوع بستگی به میزان داده های شما داره ، هیچ اصراری وجود نداره که شما از نوع شمارشی استفاده کنید بلکه مهم اینه که شما با دید باز و آگاهی نوع داده رو انتخاب کنید. برای مثال من اگه سیستمی داشته باشم که نهایتا 1 میلیون کاربر رو جذب میکنه چرا باید نوع داده رو bigint بگیرم؟؟؟
    در اینمورد هم بستگی به سناریو و کاربر سیستم شما داره. توصیه غالب اینه که برای فیلدهایی که نیاز به انجام کارهای محاسباتی ندارن (مثل شماره موبایل و کدپستی و یا شماره تلفن) بهتره از نوع varchar استفاده بشه. ولی اگر قرار باشه شما فیلترگذاری روی این فیلدها داشته باشین (مثلا کاربرد در یک سایت ارسال پیام کوتاه یا یک شبکه اجتماعی مثل وایبر یا واتس آپ) و این فیلترگذاری و جستجو زیاد صورت میگیره خب طبیعیه باید از نوع شمارشی استفاده کنید تا سریعتر به نتایج جستجو دست پیدا کنید.
    فکر میکنم با بحث هایی که توی این تاپیک شد دیگه باید نوع مورد نیاز شما مشخص شده باشه.
    موفق باشید

  18. #18
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    کلید های اصلی رو هم اگه بدون توجه به ماهیت و فیلدهای جدول، یک نوع شمارشی تعیین میکنید اشتباه میکنی
    من یک جدول دارم که هرکاربر یک Username منحصر به فرد داره.
    آیا برای کلید اصلی باید username رو قرار بدم؟؟؟ دلیل اینکه یک فیلد شمارشی به عنوان UserId قرار میدیم چیه؟؟؟
    مهمترین دلیل: چون جستجو و اندیس گذاری روی نوع شمارشی به مراتب سریعتر از نوع رشته ای است.

  19. #19

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

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

  20. #20
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: انتخاب تایپ مناسب برای ذخبره شماره موبایل و کد ملی

    نقل قول نوشته شده توسط gjmkdyttyhujk مشاهده تاپیک
    صحبت ها تون رو متوجه میشم. ولی یک چیز که خیلی برام روشن نیست یا اینجوری بگم دلیلش برام مشخص نیست این هست که چرا چرا جستجو در نوع شمارشی سریعتر از نوع رشته ای هست؟ لطفا با دلیل بفرمایید تا قانع بشیم. با تشکر
    دقیقا توی این پست شما میتونید هم مقایسه رو ببینید و هم دلیل قانع کننده بدست:
    http://stackoverflow.com/questions/8...paring-strings

    مشابهت زیادی به سوال شما داره

    این هم یک مقایسه بین نوع رشته ای و نوع شمارشی در SQl Server:
    http://sqlinthewild.co.za/index.php/...tring-joins-2/

    ضمنا شما توی زبان ماشین دو عدد رو باهم راحتتر مقایشه میکنید یا دو رشته رو؟؟؟
    مقایسه ی دو عدد فقط نیاز به یک دستورالعمل CMP داره ولی مقایسه رشته ها چندین دستورالعمل

تاپیک های مشابه

  1. پاسخ: 10
    آخرین پست: یک شنبه 20 اردیبهشت 1394, 19:25 عصر
  2. پاسخ: 0
    آخرین پست: یک شنبه 05 شهریور 1391, 11:17 صبح
  3. سوال: انتخاب Framework مناسب برای برنامه حساب داری تحت شبکه با PHP
    نوشته شده توسط rostamiani در بخش PHP
    پاسخ: 2
    آخرین پست: دوشنبه 28 بهمن 1387, 08:54 صبح
  4. سوال: انتخاب Framework مناسب برای برنامه حساب داری تحت شبکه با PHP
    نوشته شده توسط rostamiani در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: شنبه 19 بهمن 1387, 00:11 صبح
  5. انتخاب DataType مناسب برای جدول
    نوشته شده توسط masoudcarpet در بخش VB.NET
    پاسخ: 4
    آخرین پست: چهارشنبه 15 خرداد 1387, 11:20 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •