/
  • جلوگیری از ثبت داده های تکراری

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی جلوگیری از ثبت داده های تکراری
    نویسنده پیام
    Maysam.m آفلاین
    میثم محمودی
    ****

    ارسال‌ها: 331
    تاریخ عضویت: ۱۳۸۹ مهر ۱۷
    اعتبار: 12
    تشکرها : 251
    ( 209 تشکر در 155 ارسال )
    ارسال: #1
    جلوگیری از ثبت داده های تکراری
    سلام

    من یه جدول دارم که نمیخوام رکوردهای تکراری داخلش ثبت بشه .
    دو راه حل برای این کار به ذهنم رسید:
    1- گرفتن تعداد رکوردها و اگر هیچ رکوردی وجود نداشت اینزرت میکنیم
    2- استفاده از ایندکس unique روی یکی از ستون ها.

    فرض میکنیم جدول حاوی هزاران بلکه میلیون رکورد است.
    روش اول که به درد نمیخوره چون اون ستونی که میخواهیم ببینیم تکراریه یا نه ایندکس نیست و در ضمن چک کردن یک شرط بین اون همه رکورد هم، سرعت رو کاملا پایین می آورد.

    در روش دوم، آیا سرعت فراخوانی با آن حجم فرضی داده پایین نمی آید؟

    آیا راه حل بهتری هم هست؟ Wink
    (آخرین ویرایش در این ارسال: ۱۳۹۱ آبان ۲ ۱۱:۰۳ عصر، توسط Maysam.m.)
    ۱۳۹۱ آبان ۲ ۰۹:۱۷ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    webnevesht آفلاین
    محمدرضا سلطانی
    ***

    ارسال‌ها: 979
    تاریخ عضویت: ۱۳۹۰ آذر ۲۵
    اعتبار: 22
    تشکرها : 384
    ( 702 تشکر در 427 ارسال )
    ارسال: #2
    RE: جلوگیری از ثبت داده های تکراری
    نوع فیلدتون رو باید مشخص کنین چیه و اینکه حاوی چه مقداری میخواین باشهBlush
    __________________________________________________________________________
    بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
    ۱۳۹۱ آبان ۲ ۱۰:۰۰ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Maysam.m
    hamid_80386 آفلاین
    حمید عباسی
    ***

    ارسال‌ها: 1,510
    تاریخ عضویت: ۱۳۹۰ بهمن ۱۶
    اعتبار: 62
    تشکرها : 1216
    ( 1253 تشکر در 748 ارسال )
    ارسال: #3
    RE: جلوگیری از ثبت داده های تکراری
    بهر حال راه بهتری نیست، در ضمن وقتی رو میلیون برید بهر حال با کندی سرعت روبرو میشید و باید از الان اگه آینده رکوردهاتون رو اینطوری پیش بینی میکنید، فکر سیستم طراحی قوی باشید و از Innodb استفاده کنید
    __________________________________________________________________________
    هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
    ۱۳۹۱ آبان ۲ ۱۰:۵۳ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : Maysam.m webnevesht javafa
    Maysam.m آفلاین
    میثم محمودی
    ****

    ارسال‌ها: 331
    تاریخ عضویت: ۱۳۸۹ مهر ۱۷
    اعتبار: 12
    تشکرها : 251
    ( 209 تشکر در 155 ارسال )
    ارسال: #4
    RE: جلوگیری از ثبت داده های تکراری
    (۱۳۹۱ آبان ۲ ۱۰:۰۰ عصر)webnevesht نوشته شده توسط:  نوع فیلدتون رو باید مشخص کنین چیه و اینکه حاوی چه مقداری میخواین باشهBlush
    VARCHAR(255)
    مقدارش حاوی رشته های فارسی و انگلیسی است.


    (۱۳۹۱ آبان ۲ ۱۰:۵۳ عصر)hamid_80386 نوشته شده توسط:  بهر حال راه بهتری نیست، در ضمن وقتی رو میلیون برید بهر حال با کندی سرعت روبرو میشید و باید از الان اگه آینده رکوردهاتون رو اینطوری پیش بینی میکنید، فکر سیستم طراحی قوی باشید و از Innodb استفاده کنید
    برای این از Innodb استفاده نمیکنم که MyISAM باید راحت تر باشه کارکردن باهاش و قابلیت Full-text index داره .
    به نظر شما ایا قابلیت ایندکس معمولی در ستون با مشخصات بالا بهتر از ایندکس فول تکست جوابگو نیست؟
    (آخرین ویرایش در این ارسال: ۱۳۹۱ آبان ۴ ۰۹:۵۹ عصر، توسط Maysam.m.)
    ۱۳۹۱ آبان ۲ ۱۱:۳۵ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    farhad.programmer آفلاین
    عضو مهم
    ****

    ارسال‌ها: 288
    تاریخ عضویت: ۱۳۸۸ بهمن ۷
    اعتبار: 1
    تشکرها : 149
    ( 99 تشکر در 67 ارسال )
    ارسال: #5
    RE: جلوگیری از ثبت داده های تکراری
    همین unique index کفایت میکنه
    اگه جداول درست طراحی شده باشن افت چندانی نداره.
    ۱۳۹۱ آبان ۴ ۱۲:۱۹ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : masoud1990 Maysam.m
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS