У меня есть SQL Query
(проход доступа через запрос), который при запуске блокирует таблицу, и я ничего не могу с ней поделать. Он заперт в течение часа, потому что таблица огромна (база данных составляет 250 гигабайт). SQL выглядит следующим образом, но я надеюсь, что есть способ сделать запрос выбора без блокировки таблицы. .SQL Выберите таблицу блокировки запроса
INSERT INTO BoydAmazonToday1
(LocalSKU, [Price Currency], Quantity)
SELECT TOP (3000000) Inventory.LocalSKU, Inventory.Price, InventorySuppliers.BoydQuantityAvailable
FROM Inventory INNER JOIN
InventorySuppliers ON Inventory.LocalSKU = InventorySuppliers.LocalSKU INNER JOIN
Suppliers ON InventorySuppliers.SupplierID = Suppliers.SupplierID
WHERE (NOT (Inventory.Price = 0)) AND (NOT (Inventory.Price IS NULL)) AND (InventorySuppliers.BoydQuantityAvailable > 49) AND (Inventory.Category LIKE '%Books%' OR
Inventory.Category LIKE '%DVDs%' OR
Inventory.Category LIKE '%Music%' OR
Inventory.Category LIKE '%VHS%') AND (Inventory.Discontinued = 0) AND (Suppliers.[Boyd-AmazonBackOrder] = 1) AND (InventorySuppliers.PrimarySupplier = 1) AND
(NOT (Inventory.LocalSKU = '9780205309023u1')) AND
(NOT (Inventory.LocalSKU = '9780205309023')) AND
(NOT (Inventory.LocalSKU = '9781400052189')) AND
(NOT (Inventory.LocalSKU = '9781400052189U1')) AND
(NOT (Inventory.LocalSKU = '9781435732865')) AND
(NOT (Inventory.LocalSKU = '9781435732865U1'))
ORDER BY Inventory.Price ASC
К какому СУБД вы относитесь к этому запросу? Возможно, SQL Server? –
да, он отправляется на сервер MSSQL 2012 –
Мне любопытно, что «TOP 3000000». Это произвольное число? Можно сделать пакетные обновления (скажем, 10000, а затем совершить). Похоже, вы пытаетесь сделать это здесь? –