Mam tabeli CurrentStatus
w mojej bazy danych (bazy danych subskrypcji w replikacji scalania) Kolumny są StatusID {Primary Key + Clustered Index}, StatusName, StatusDate, UserID,CreatedDate, ModifiedDate, ModifiedBy, AllowDelete,AllowUpdate
Proste zapytanie zmiana trwa zbyt długo
currentStatus tabeli jako 26000 wierszy
aktualizacje i usuwa w tej tabeli są Nagle za dużo czasu mówi się od 1 minuty 30 sekund do nawet 5 minut.
Wykonanie poniższej zapytania trwa ponad minutę.
update StatusMaster set StatusName='OK' where StatusID = 22
Były wcześniej 5 indeksów na stole (nawet wtedy zapytań wykorzystywane do wykonywania szybko.) Teraz jako aktualizacji/usuwania zapytań nie realizują, mam usunięte wszystkie indeksy i przechowywane tylko dwa indeksy 1) Indeks klastrowany na StatusID 2) Indeks replikacji w kolumnie rowguid, który jest unikalnym nieklastrowanym indeksem utworzonym automatycznie przez replikację.
Po wykonaniu kopii zapasowej i odtworzeniu bazy danych, zapytania w tej samej tabeli działają poprawnie.
Jeszcze jedno, że mam złożone zapytanie uruchamiane co 2 minuty z około 20 komputerów na serwerze.
Co powoduje, że te zapytania pochłaniają tak dużo czasu na wykonanie?
to replikacja uruchomiona po wykonaniu tych testów? Jeśli DB jest subskrybentem, to faktycznie nie powinieneś usuwać \ aktualizowania jego danych, prawda? – Diego
Nie publikuj w WIELKICH LATACH. Jest niegrzeczny i wydaje się, że "krzyczysz". –
@Diego replikacja tak działa + replikacja scalania, więc wstawianie aktualizacji może działać na dowolnym subskrybencie i wydawcy – Thakur