ورود

View Full Version : سوال: ثبت اطلاعات در بانک اطلاعاتی



K.Mohammadreza
دوشنبه 12 اردیبهشت 1390, 09:54 صبح
با سلام
من میخوام تعداد 250 فیلد را همزمان در بانک SQL Server ثبت کنم با استفاده از کامپوننت های SDac(SQL Server Data Access Components) اقدام به ثبت اطلاعات میکنم (در این حالت تنها یک فایل اجرایی روی کلاینت می باشد و نیازی به نصب هیچ برنامه ای در زمینه SQL نیست) و یک کامپیوتر دیگر هم با ویندوز 2003 و SQL Server دارم که فقط بعنوان سرور استفاده می شود. مشکل اینجاست که قبلا چون تعداد فیلدها کمتر بود سرعت ذخیره اطلاعات بسیار بالا بود ولی الان سرعت بسیار کند شده و چند دقیقه طول میکشد تا اطلاعات ذخیره شود؟ چکار کنم؟ ضمناً تعداد رکوردهای جدول اطلاعاتی هم بیش 70.000 رکورد می باشد و تمامی دستورات جهت درج، ویرایش، حذف، حستجو و ... دستورات SQL می باشد و به هیچ وجه از کامپوننتهای Table, Dateset استفاده نکرده ام و تنها از دوشی Query, Command استفاده شده است. ضمناً برنامه کلاینت از طریق شبکه Wan به سرور وصل می شود!!!!!!!!

nilidelphi
دوشنبه 12 اردیبهشت 1390, 12:28 عصر
من دقیقا متوجه نشدم دلیل استفاده ی شما از این کامپوننت ها چیست.
ولی اگه دیتابیستون اس کیو ال باشه و بصورت شبکه ای ازش استفاده می کنید بهتره دستورات مربوط به درج رکورد رو به جای اینکه در برنامه ی خودتون اجرا کنید که بار شبکه رو زیاد می کنه به خوده اس کیو ال بفرستین
به این صورت که از procedure و داده ها رو از این طریق به اس کیو ال بفرستید.
استفاده از procedure در برنامه های شبکه باعث کاهش ترافیک شبکه و انجام سریع برنامه میشه.

موفق باشید

pezhvakco
دوشنبه 12 اردیبهشت 1390, 16:48 عصر
سلام :

راهنمایی فوری در مورد ثبت اطلاعات در بانک اطلاعاتی
بهتره عنوان را متناسب با پرسش بنویسید .

من میخوام تعداد 250 فیلد را همزمان در بانک SQL Server ثبت کنم
یه بازنگری در مورد ساختار جدول داشته باشین بد نیست . جدول با 250 ستون زیاد منطقی به نظر نمی یاد .

(در این حالت تنها یک فایل اجرایی روی کلاینت می باشد و نیازی به نصب هیچ برنامه ای در زمینه SQL نیست)
تا جایی که می دونم همیشه همین طور بوده .

ضمناً برنامه کلاینت از طریق شبکه Wan به سرور وصل می شود!!!!!!!!
یعنی چی و مشخصات این شبکه چیه ؟

K.Mohammadreza
چهارشنبه 14 اردیبهشت 1390, 08:38 صبح
سلام :

بهتره عنوان را متناسب با پرسش بنویسید .

یه بازنگری در مورد ساختار جدول داشته باشین بد نیست . جدول با 250 ستون زیاد منطقی به نظر نمی یاد .

تا جایی که می دونم همیشه همین طور بوده .

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

K.Mohammadreza
چهارشنبه 14 اردیبهشت 1390, 08:47 صبح
من دقیقا متوجه نشدم دلیل استفاده ی شما از این کامپوننت ها چیست.
ولی اگه دیتابیستون اس کیو ال باشه و بصورت شبکه ای ازش استفاده می کنید بهتره دستورات مربوط به درج رکورد رو به جای اینکه در برنامه ی خودتون اجرا کنید که بار شبکه رو زیاد می کنه به خوده اس کیو ال بفرستین
به این صورت که از procedure و داده ها رو از این طریق به اس کیو ال بفرستید.
استفاده از procedure در برنامه های شبکه باعث کاهش ترافیک شبکه و انجام سریع برنامه میشه.

موفق باشید

با سلام ممنون از پاسخ تان:
در هر حالت فرقی نمی کنه چون مقدار دهی پارامترها ملاک عمل است پس در هر حالت فرقی نمی کند

hossein_h62
چهارشنبه 14 اردیبهشت 1390, 13:26 عصر
در هر حالت فرقی نمی کنه چون مقدار دهی پارامترها ملاک عمل است پس در هر حالت فرقی نمی کند
سلام دوست عزیز
با فرض اینکه نرمال ترین طراحی رو برای جداولتون پیاده سازی کردین، استفاده از sp ها تاثیر بسزائی در سرعت اجرای دستورات در دیتابیس داره.من با پست 2 موافقم.