Для опытов я выбрал табличку InventLocation
PHP код:
static void Job5(Args _args)
{
InventLocation inventLocation;
InventLocationId locId = 'MW', bug = 'Нет склада';
;
flush inventLocation;
inventLocation = InventLocation::find(locId);
inventLocation = InventLocation::find(locId);
inventLocation = InventLocation::find(locId, true);
inventLocation = InventLocation::find(bug);
inventLocation = InventLocation::find(bug);
inventLocation = InventLocation::find(bug, true);
ttsbegin;
inventLocation = InventLocation::find(locId);
inventLocation = InventLocation::find(locId);
inventLocation = InventLocation::find(locId, true);
inventLocation = InventLocation::find(bug);
inventLocation = InventLocation::find(bug);
inventLocation = InventLocation::find(bug, true);
ttscommit;
inventLocation = InventLocation::find(locId);
inventLocation = InventLocation::find(locId);
inventLocation = InventLocation::find(locId, true);
inventLocation = InventLocation::find(bug);
inventLocation = InventLocation::find(bug);
inventLocation = InventLocation::find(bug, true);
}
И вот какая картина в профайлере SQL:
None
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
TTSBEGIN
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='Нет склада'
TTSCOMMIT
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
NoneInTTS
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
TTSBEGIN
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='Нет склада'
TTSCOMMIT
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
Found
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
TTSBEGIN
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='Нет склада'
TTSCOMMIT
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='Нет склада'
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
FoundAndEmpty
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A(NOLOCK) WHERE INVENTLOCATIONID='Нет склада'
TTSBEGIN
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='MW'
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='Нет склада'
TTSCOMMIT
EntireTable
SELECT * FROM InventLocation A(NOLOCK)
TTSBEGIN
SELECT * FROM InventLocation A(UPDLOCK) WHERE INVENTLOCATIONID='MW'
TTSCOMMIT
Как говорится "почувствуйте разницу"