PDA

View Full Version : کند شدن بانک



kasmaii61
یک شنبه 23 مهر 1385, 15:13 عصر
سلام دوستان عزیز
من یه کاربر تازه کار دز زمینه کار با SQl هستم . بانکی که طراحی کردم تعدادی جدول داره که فعلا فقط یکی از اونها در برنامه ای که نوشتم(با vb) مورد استفاده قرار گرفته.
این جدول 14 فیلد داره که نوع همشون رو nvarchar (با اندازه پیش فرض 50)انتخاب کردم چون همشون اطلاعات متنی قرار ذخیره کنند. الان حدود 1 ماه که از این data base استفاده میشه و حدود 4000 رکورد هم اطلاعات دخیره شده توش . حجم db در حال حاضر فقط 12MG ولی برنامه به شدت کند شده. یعنی برای ثبت هر رکورد تقریبا 2 ثانیه طول میکشه . این مشکل برای واکشی اطلاعات هم وجود داره . با توجه به حجم کم data base فکر میکنید مشکل از کجاست و چه جوری می تونم حل کنم این مشکل رو.
به نظرتون نوع فیلد رو اشتباه تعریف کردم ؟ و یا احتیاج به تنظیماتی هست که اونارو انجام ندادم. در ضمن برای ارتبط با بانک هم از adodc استفاده می کنم.
در مورد مشکلم جستجو هم کردم ولی به نتیجه ای نرسیدم.
با تشکر فراوان.
بازم اگه سوالم گنگ بگید توضیح بدم

yasak5
یک شنبه 23 مهر 1385, 19:51 عصر
سلام،
به طور معمول روی سیستم هایی با مشخصات سخت افزار معمولی و با تعداد کاربران همزمان کمتر از 10 نفر روی این حجم از اطلاعات نباید کندی سرعت احساس بشه.
با اطلاعاتی که دادی به راحتی نمی شه تشخیص داد مشکل از کجاست. یکی از کارهایی که می شه انجام داد اینه که با استفاده از SQL Profiler دستوراتی که داره روی بانک اطلاعاتی اجرا می شه رو monitor کنی و ببینی چه اتفاق هایی داره می افته. (که معلوم بشه اصلا مشکل به SQL Server مربوط می شه و یا چیزه دیگه ای توی ویندوز باعث این مشکل می شه) این قدم اول هست...

kasmaii61
یک شنبه 23 مهر 1385, 23:30 عصر
ممنون تست می کنم ببینم چی میشه

حمیدرضاصادقیان
دوشنبه 24 مهر 1385, 08:23 صبح
ساختار جدولت رو هم بنویس.آیا کلید در جدولت تعریف کردی؟

kasmaii61
دوشنبه 24 مهر 1385, 14:27 عصر
جدولم یه فیلد کلید(primary key) داره که auto number تعریفش کردم و با هر بار اضافه شدن رکورد یه مقدار جدید به فیلد اختصاص می ده.
ساختار جدول بسیار سادست و همونطور که گفتم 14 فیلد داره که همه به جز فید کلیدکه long تعریفش کردم بقیه nvarchar هستند

AminSobati
دوشنبه 24 مهر 1385, 19:22 عصر
داشتن کلید کافی نیست. احتمالا به دلیل نداشتن ایندکسهای مناسب، SQL Server قادر نیست رکوردهای مورد نظر رو از طریق Seed پیدا کنه و مجبوره همیشه Scan انجام بده (البته یک احتمال!) این مشکل در Queryها هم میتونه وجود داشته باشه