ورود

نسخه کامل مشاهده نسخه کامل : مشکل در جستجو در Mysql



Amir_link
09-01-2008, 21:29
سلام به همگی

دوستان این کد چرا قسمت Else درست کار نمی کنه ، کد به این صورت هستش که نام کاربر تو بانک جستجو

میشه اگر باشه پیغام میده سلام نام کاربر و اگر نباشه پیغام بده کاربر مجاز نمی باشد ولی ، الان وقتی کاربر

مجاز نباشه به تعداد کاربرا، می نویسه کاربر مجاز نمی باشد فرض کن 10 تا کاربر تو بانک باشه 10 بار می نویسه

کاربر مجاز نمی باشد ، و همین طور اگه مجاز باشه ، می نویسه سلام نام کاربر ، کاربر مجاز نمی باشد:41:

مغزم هنگ کرد راستش خیلی روش کار کردم نشد که نشد با Switch هم امتحان کردم ولی اونم همین جوریه

مشکل کجاست اگر کدهام اشتباه لطفا طرز صحیحش رو بنویسید

ممنون از راهنمایی


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

neopersia
10-01-2008, 01:46
اگه بخوایم کد خودتونو درست کنیم میشه این:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ولی این روش درست نیست. فرض کن اگه یک میلیون کاربر داشته باشی چی میشه؟؟؟
راههای دیگه ای هم هست که ببینی یه نام کاربری تو دیتابیس هست یا نه مثلاً این:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته باید حواست باشه به این آسونی همون داده هایی رو که با فرم پست شده نزاری تو کوئری دیتابیس
وقتی میخوای داده ها رو تو دیتابیس ذخیره کنی اول اونا رو فیل-تر کن تا ریسکش کم بشه تو کد بالا هم با همون روش داده هاتو فیل-تر کن تا با داده های قبلی مطابقت داشته باشه

Amir_link
10-01-2008, 12:13
سلام

neopersia جان دستت درد نکنه ، راستش باز هم تو کد اول وقتی کاربر مجاز نیست به تعداد کاربرا می نویسه که کاربر مجاز نمی باشد

خودم هم گیج شدم آخه تو برنامه نویسی همین جوری درسته

neopersia
10-01-2008, 17:09
من بازم میگم روش اول درست نیست .کد اول منم کامل نبود ولی اگه اصرار داری از این روش استفاده کنی این یکی رو امتحان کن:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Amir_link
10-01-2008, 17:54
سلام

دستت درد نکنه ، این بار کار کرد.

راستش من تازه کارم، این کد رو هم تو یه مقاله نوشته بود .

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

ممنونم نمی دونم اگه دوستای خوبی مثل شما و بقیه دوستان تو این فروم نبودن این مشکلات رو چطوری

می تونستم حل کنم . و اگه لطف کنی و بگی اشکال کجاست ممنون میشم آخه من زیاد وارد نیستم شما

گفته بودین که اگر مثلا یک میلیون کاربر داشته باشید اونوقت نمیشه از این کد استفاده کرد ؟ چرا؟

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

ممنون

neopersia
10-01-2008, 19:31
فرض کنید یک میلیون کاربر داریم که و نام کاربری ارسال شده به برنامه مربوط به آخرین رکورد در دیتابیس باشه
حالا باید یک میلیون رکورد از دیتابیس فراخوانده بشه که تبعاً فشار زیادی به سرور دیتابیس وارد میکنه
گذشته از وضعیت سرور دیتابیس حالا این یکی میلیون رکورد باید یکی یکی چک بشه تا ببینیم آیا نام مورد نظر ما وجود داره یا نه اینم تلف کردن منابع سرور هست (cpu, حافظه، بالارفتن زمان اجرای برنامه...)
شاید این کار تو طراحی نرم افزارهای شخصی مشکل زیادی ایجاد نکنه ولی روی وب درد سر ساز میشه
تازه این مشکلات برای چک کردن نام کاربری یک کاربر بود
وقتی یک میلیون کاربر داشته باشی مطمئناً در هر لحظه ممکنه تعداد زیادی کاربر به صور همزمان وارد سیستم بشن!!
این یعنی مشکلات قبلی ضرب در تعداد کاربرانی که می خواهند به طور همزمان وارد سیستم بشن!