Підкажіть, будь-ласка, як для Select() вписати With (Nolock)

Нравится

2 комментария

Как-то так:

var countSelect = new Select(UserConnection)
			  	.Column(Func.Count(Column.Asterisk())).As("Count") as Select;
countSelect.WithHints(Hints.NoLock);

Дякую, те, що треба :)

Показать все комментарии

Добрый день!

Возникла проблема с nolock в пользовательских запросах, точнее как nolock вставить при создании запроса в построителе запросов?

Нравится

Поделиться

9 комментариев

Это в 3ке что ли? Никак наверное :)
Если не секрет, Александр, напугайте примером, где такой изыск понадобился

"Александр Кудряшов" написал:Это в 3ке что ли? Никак наверное :)
Если не секрет, Александр, напугайте примером, где такой изыск понадобился

В V3.4
Думаю что можно. Для меня вообще не бывает невыполнимых задач. Думаю тут сериалаз/десериалайз надо использовать, но я в этом не силен.

Пример: есть идиотский пользовательский запрос, который нужен для макроса при рассылке и он, видимо, частенько сам себя блокирует (письма то рассылаются не в одном экземпляре)...

думаю может после этой строки :

var Query = CreateUserQueryObject(Template.QueryID); // в function GetTemplateData(RecordID, SaveToFile)

прописать какой-то код, который кверик переписывает...

Dirty read дело в этом случае наверное допустимое...
По идее сам себя он лочить то не должен, там же селект... скорее ему кто то мешает периодически

а если с другой стороны пойти - пользовательский запрос создавать к вьюшке, которая создана на сервере и содержит всегда актуальные и только нужные данные? Тогда запрос точно тормозить не сможет

"Александр Кудряшов" написал:а если с другой стороны пойти - пользовательский запрос создавать к вьюшке, которая создана на сервере и содержит всегда актуальные и только нужные данные? Тогда запрос точно тормозить не сможет

Александр, вариант хороший! Надо попробовать...

Кстати, в SQL SMS "дергаю" построенный запрос и периодически вместо результата вижу (может это чисто SMS такое выдает):

An error occurred while executing batch. Error message is: Exception of type 'System.OutOfMemoryException' was thrown.

"AlexLS" написал:чисто SMS такое выдает

Именно (пруфлинк)
Запрос слишком жирный

"Александр Кудряшов" написал:пользовательский запрос создавать к вьюшке

попробовал сделать. посмотрим как оно будет...

"AlexLS" написал:попробовал сделать

права на чтение вьюхиного содержимого дать не забудь для простых смертных:)

"Александр Кудряшов" написал:права на чтение вьюхиного содержимого дать не забудь для простых смертных:)

Александр, спасибо! На самом деле, конечно же забыл про права :exclaim:

Показать все комментарии