View Full Version : سوال: جدا کردن جدولها در یک برنامه چند کاربره
zoleikha
دوشنبه 11 مرداد 1389, 01:29 صبح
سلام
من یک برنامه با یک پایگاه داده بسیار بزرگ دارم که گزارش گیری سختی روش انجام میشه و فکر میکنم اگر چند کاربر بخوان از یک کامپیوتر از این برنامه استفاده کنند این گزارشگیری بسیار کند میشه.من میتونم به محض ایجاد یک کاربر جدید همون جدولها رو دوباره create کنم تا یک فیلد اضافه در جدولهام به منظور کاربر نذارم؟(یعنی اگر 10 تا جدول دارم به ازاء هر کاربر 10 تا جدول رو داشته باشم)اصلا این کار به صرفه و شدنی هست؟اگر شدنیه چطوری؟
حمیدرضاصادقیان
دوشنبه 11 مرداد 1389, 08:15 صبح
سلام. شما وقتی هرکاربری به دیتابیس وصل میشه یک فیلد براش اضافه میکنید؟ به چه دلیل؟
میدونید اگر 20 تا کاربر بخوان به دیتابیس وصل بشن شما باید 200 جدول ایجاد بکنید که اصلا راه منطقی نیست.
روشهای زیادی برای افزایش سرعت گزارشگیری وجود داره که باید دیتابیس شما مورد بررسی قرار بگیره.
کوئری هایی که نوشتین مورد بررسی قرار بگیره. قدرت سخت افزاری سرور. پهنای باند شبکه و...
موفق باشید.
zoleikha
دوشنبه 11 مرداد 1389, 16:19 عصر
منظور من از اضافه کردن یک فیلد این بود که یک جدول دارم که پاسخ های کاربر توش ثبت میشه و من یک ستون به عنوان کلید خارجی اضافه کنم که نشون بده این پاسخ مربوط به کدوم کاربره و چون احتمال اینکه چند کاربر از یک کامپیوتر استفاده کنند بسیار پایینه کوئری ها و جدولم بی دلیل سنگین میشه درضمن اینکه به احتمال خیلی بد حداکثر 5 نفر ممکنه از یک کامپیوتر استفاده کنند چون این نرم افزار برای مصرف خانگیه.باز هم ساختن جدول جدید به صرفه نیست؟من فقط نمی خوام برنامه ام خیلی کند بشه!
حمیدرضاصادقیان
سه شنبه 12 مرداد 1389, 07:56 صبح
سلام.اصلا نیازی به ساخت جدول برای هر کاربر نیست. همون فیلد کلید خارجی مناسبترین راه است.
هیچ کندی هم در کار نخواهد بود. شما کافیه ایندکس گذاری مناسب روی دیتابیس داشته باشید و کوئری هایی که می نویسید بهینه باشه به راحتی میتونید گزارش بگیرید. از همین روش خود من دارم استفاده میکنم.
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.