javadsaberifar
شنبه 20 مهر 1392, 09:09 صبح
سلام به دوستان عزیز
من یه Table دارم که توسط چند تا Thread رکوردهای آن Select زده می شه و پس از انجام یه پردازش هایی در سطح برنامه اون رکوردها Update می شوند. برای اینکه Thread ها رکوردهای تکراری Select نزنند من یه فیلد مثلا Lock دارم که اگه یه رکورد را برداشتم Lock= True می کنم.
این کار تو یه SP انجام میشه که ابتدا رکوردهایی را که می خوام به Thread بدم را در یک Temp Table میریزم سپس همون رکوردها را Lock= True می کنم و در آخر رکوردهای داخل Temp Table را به عنوان خروجی برمی گردونم.
حالا 2 تا سئوال دارم:
1- آیا برای افزایش سرعت می توان کاری کرد که همان زمانی که عملیات Select انجام میشه عملیات Update هم انجام بشه تا به این صورت Temp Table حذف بشه؟
2- اگر سئوال اول امکان پذیر نیست، برای بهینه تر کردن سرعت کار Common Table Expression بهتره یا همون Temp Table ؟
ممنون از همه کسانی که به من کمک می کنند.
من یه Table دارم که توسط چند تا Thread رکوردهای آن Select زده می شه و پس از انجام یه پردازش هایی در سطح برنامه اون رکوردها Update می شوند. برای اینکه Thread ها رکوردهای تکراری Select نزنند من یه فیلد مثلا Lock دارم که اگه یه رکورد را برداشتم Lock= True می کنم.
این کار تو یه SP انجام میشه که ابتدا رکوردهایی را که می خوام به Thread بدم را در یک Temp Table میریزم سپس همون رکوردها را Lock= True می کنم و در آخر رکوردهای داخل Temp Table را به عنوان خروجی برمی گردونم.
حالا 2 تا سئوال دارم:
1- آیا برای افزایش سرعت می توان کاری کرد که همان زمانی که عملیات Select انجام میشه عملیات Update هم انجام بشه تا به این صورت Temp Table حذف بشه؟
2- اگر سئوال اول امکان پذیر نیست، برای بهینه تر کردن سرعت کار Common Table Expression بهتره یا همون Temp Table ؟
ممنون از همه کسانی که به من کمک می کنند.