Qui sto lavorando con Linq a sql Ho più di 30000 righe nella mia tabella.La transazione (ID processo 56) era bloccata in caso di blocco?
ho usato seguente query per il recupero record dal database:
IEnumerable<DealsDetails> DD = (from D in DealDbContext1.Deals
where D.Address == City && (D.DealTime >= DateTime.Now || D.DealTime == dealcheck) && PriceMax >= D.DealPrice && D.DealPrice >= PriceMin && DisCountMax >= D.SavingsRate && D.SavingsRate >= DiscountMin && (D.DealTime >= DateTime.Now.AddDays(TimeMin) && D.DealTime <= DateTime.Now.AddDays(TimeMax) || D.DealTime == dealcheck)
select new DealsDetails(
lst,
D.DealId,
D.DealHeadline,
D.DealCategory,
D.BuyPrice,
D.DealPrice,
D.SavingsRate,
D.SavingAmount,
D.RelatedWebsite,
D.Address,
string.Empty,
D.DealImage,
string.Empty,
string.Empty,
D.Time, D.CurrentTime, D.DealTime,
D.Location, string.Empty, string.Empty, D.Latitude, D.Longitude, D.Islocal, D.VendorMail, D.MerchantInfo, D.Review, D.HowItWork, D.DealUrl
));
if (lstSite.Count > 0 && lstSite[0] != "AllDeals")
{
DD = DD.Where(D => D.RelatedWebsite.Split(',').Where(x => lstSite.Contains(x)).Any()); //.Where(row => row.Category.ToList().Where(x => lst.Contains(x)).Any()).ToList();
}
Qualche tempo la mia domanda di esecuzione con successo o qualche volta ho avuto Errore: transazione (Process ID 56) critico sulla serratura | risorse del buffer di comunicazione con un altro processo ed è stato scelto come vittima del deadlock. Rieseguire la transazione.
Grazie in anticipo ...
Ci sarà una voce deadlock nel log degli errori di SQL Server, potresti postare? In caso contrario, attivare [traceflag 1204 o 1222] (http://msdn.microsoft.com/en-us/library/ms178104.aspx) – Andomar
Quanto impiega la query per l'esecuzione? – RobJohnson
Quale versione di SQL Server? [Se il 2008 vedrà se è possibile ottenere il grafico del deadlock dalla sessione di eventi estesa predefinita] (http://dba.stackexchange.com/questions/10644/deadlock-error-isnt-returning-the-deadlock-sql/10646#10646). Altrimenti configuralo per catturarlo la prossima volta. –