ورود

View Full Version : ارتباط Transactionها با Performance



A.Farzin
شنبه 01 آبان 1389, 09:52 صبح
با سلام
فرض كنيد روش بكار گرفته شده در يك برنامه بدين شكل است كه ابتدا تعدادي از ركوردهاي MasterTable1 با توجه به شرايط تعيين شده توسط كاربر انتخاب و در جدول ديگري به نام MasterTable1_Selected ريخته (Insert Into) مي‌شود و براي تهيه گزارش نهايي بين ركوردهاي اين جدول و DetailTable2 يك JOIN برقرار و گزارش نهايي تهيه و در پايان كار هم ركوردهاي Insert شده به MasterTable1_Selected حذف (Delete) مي‌شود.
اگر فرض كنيد كه برنامه تحت شبكه است و گزارشات كاربران متعددي بدين شكل تهيه مي‌شود ما با يا I/O زياد بابت انجام Transactionها در MasterTable1_Selected مواجه هستيم.
آيا اگر به جاي Insert و Delete در يك جدول واقعي از متغيير جدول (Table@) و يا حتي جداول موقت (Table#) استفاده شود مي‌توان انتظار افزايش Performance برنامه را داشت.
ممنون

حمیدرضاصادقیان
شنبه 01 آبان 1389, 10:19 صبح
سلام. شما نیازی به insert ندارید(البته با توجه به چیزی که خودتون توضیح دادین) میتوانید با استفاده از یک Derived Table مقادیر مورد نیاز رو از جدول mastertable1 با جدول Detailtable2 تلفیق کرده و گزارش خود رو بگیرید. دیگه نیازی به استفاده از جداول موقت نیز نمی باشد.
اگر میتونید ساختار 3 جدول و نوع کوئری تون رو بنویسید تا بهتر بشه راهنمایی کرد.