PDA

View Full Version : آپدیت کردن چندین جدول SQL Server در کمترین زمان ممکن



smt1383
دوشنبه 13 بهمن 1393, 09:37 صبح
با سلام به دوستان
من با یک برنامه C# به اس کیو ال وصل می شوم و برنامه پس از انجام رخدادی یه log می اندازد یعنی به جدولی مانند TBL_Log یک سطر اضافه می کند. در عین حال می بایست هم زمان با درج هر سطر جدید در این جدول، متناسب با اطلاعات این سطر، چند جدول دیگر نیز آپدیت شوند مثلا در جدولی مانند TBL_Person سطر مربوط به یک شخص خاص یک فیلدش تغییر کند. یا در یک جدول دیگر مقدار یک فیلد افزوده شود و ...
با توجه به اینکه حجم دیتابیس من هم زیاده و تراکنش ها ممکنه زمان زیادی رو بگیره بهترین راه حل ممکن برای اینکه این عملیات ها در کمترین زمان ممکن انجام بشه چیه؟
آیا هم زمان با اضافه کردن سطر جدید از داخل C# همه جدولهای دیگر راهم آپدیت کنم یا مثلا در جدول TBL_Log یک تریگر تعریف کنم که این کار را انجام بده. ممنون میشم دوستان راهنمایی کنند که سریعترین و اصولی ترین راه حل ممکن چیه؟

SabaSabouhi
دوشنبه 13 بهمن 1393, 10:21 صبح
سلام
بدون شک سریع‌ترین روش اینه که کارها رو روی خود SqlServer انجام بدی، چه با StoredProcedure و چه با Trigger.
به نظر من Trigger اگر تو نوشتنش حرفه‌ای باشی، مناسب‌تره و امنیتش هم بیشتره. اما خوب بیشتر دوستان SP رو
توصیه می‌کنن.
یه امتیاز مهم SP اینه که دستت بازه تو پارامترها، اما تو Trigger محدود هستی به ستون‌های جدولت.

صبا صبوحی