Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy istnieje sposób/narzędzie do identyfikacji szacowanego czasu wykonywania zapytania w serwerze SQL?

Obecnie nie. Microsoft obecnie bada sposoby, aby to zrobić, korzystając z połączenia już wykonanej pracy i szacunkowego planu wykonania (Zobacz szczegóły ich badań na stronie Microsoft Research ), więc możemy się spodziewać, że wkrótce coś zobaczymy. Ale to jedyny rozwój, o którym wiem.

Rozwiązaniem, z którego korzystałem z największym sukcesem w przeszłości, w przypadku procesów, które zajmują dużo czasu, jest rozbicie procesu na mniejsze zadania i wyznaczenie kamieni milowych na końcu każdego zadania. Rejestrowany jest łączny czas wszystkich wykonań każdego zadania, który służy do porównania postępu bieżącego wykonania. Zależy to w dużej mierze od liniowości zapytań (tj. czas potrzebny na wykonanie jest liniowo proporcjonalny do liczby rekordów). Kamienie milowe mogą być mierzone etapami procesu, dzieleniem danych na mniejsze segmenty lub jednym i drugim.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL — Wybierz najnowszy rekord, gdy istnieje duplikat

  2. Skrypt do usuwania wszystkich obiektów niesystemowych w SQL Server 2008

  3. Nieprawidłowa nazwa obiektu SQL Server 2008 R2 — procedura składowana

  4. Nieprawidłowa składnia w pobliżu modift sql comm 'OFFSET' od 2012 do 2008

  5. Wiele wierszy w jeden wiersz i łączenie kolumny SQL