Mam procedurę składowaną, która zwraca wyniki z widoku indeksowanego za pomocą indeksu obejmującego. Zwykle działa szybko (~ 10 ms), czasem może działać nawet do 8 sekund. Oto przykład losowego wykonania (uwaga: to nie jest powolne, ale tekst zapytania jest taki sam, z wyjątkiem przekazywanej wartości): declare @p2 dbo.IdentityType insert into …
W poniższym fragmencie planu zapytania wydaje się oczywiste, że oszacowanie wiersza dla Concatenationoperatora powinno być ~4.3 billion rowslub suma oszacowań wiersza dla jego dwóch danych wejściowych. Jednak szacunek ~238 million rowsjest generowany, co prowadzi do nieoptymalnej Sort/ Stream Aggregatestrategii, która przelewa setki GB danych do tempdb. Logicznie spójna ocena w …
Jestem w trakcie projektowania nowego systemu dla dużego zestawu danych geoprzestrzennych, który będzie wymagał szybkiego wykonania zapytania dotyczącego odczytu. Dlatego chcę sprawdzić, czy ktoś uważa, że jest to możliwe, lub ma doświadczenie / porady dotyczące odpowiednich DBMS, struktury danych lub alternatywnych metod, aby osiągnąć wymaganą wydajność w następującej sytuacji: Dane …
Problem z powiadomieniami o zdarzeniach. Na komputerze / dysku / bazie danych, do których wysyłane są wiadomości (odbiornik), dysk zapełnił się, gdy nikt go nie szukał, więc kopia zapasowa jest tworzona przez cały dzień. Teraz, gdy zwolniliśmy miejsce na dysku, przyjmuje on wiadomości do kolejki, ale wydaje się, że nie …
Podczas profilowania bazy danych natknąłem się na widok odwołujący się do niektórych niedeterministycznych funkcji, do których dostęp uzyskuje się 1000–2500 razy na minutę dla każdego połączenia w puli tej aplikacji. Prosty SELECTz widoku daje następujący plan wykonania: To wydaje się być złożonym planem dla widoku, który ma mniej niż tysiąc …
Po prostu bawię się interfejsem graficznym SSMS i badam opcje zadania „przywróć”. Jedną z rzeczy, które zauważyłem, jest to, że kiedy klikam „generuj skrypt”, pierwszy wiersz zapytania to: RESTORE DATABASE [MyDatabase] FROM DISK = N'Server_Patch\Database_name_LOGSHIPPING.BKP' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5 ( and a lot of log …
To proste pytanie, na które nie mogę znaleźć odpowiedzi. Jeśli chodzi o wydajność, jeśli mam WHEREklauzulę, na przykład: a=0 and b=0 and ... z=0Czy uzyskałbym jakąkolwiek wydajność, jeśli zastąpiłbym ten warunek a+b+...+z=0? Innymi słowy, czy jest jakikolwiek wzrost wydajności poprzez zastąpienie następujących Select * From MyTable Where A=0 and B=0 …
Pracowałem nad wersją demonstracyjną z udziałem CCI, kiedy zauważyłem, że niektóre z moich wstawek zajmowały więcej czasu niż oczekiwano. Definicje tabel do odtworzenia: DROP TABLE IF EXISTS dbo.STG_1048576; CREATE TABLE dbo.STG_1048576 (ID BIGINT NOT NULL); INSERT INTO dbo.STG_1048576 SELECT TOP (1048576) ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) RN FROM master..spt_values …
Wprowadzenie Aby pytanie to było przydatne dla przyszłych czytelników, użyję ogólnego modelu danych, aby zilustrować problem, z którym się zmagam. Nasz model danych składa się z 3 podmiotów, które będą oznaczone jako A, Boraz C. Aby uprościć sprawę, wszystkie ich atrybuty będą inttypu. Jednostka Aposiada następujące atrybuty: D, Ei X; …
Po prostu tego nie rozumiem. Zobacz to zapytanie SQL: select nchar(65217) -- ﻁ select nchar(65218) -- ﻂ select nchar(65219) -- ﻃ select nchar(65220) -- ﻄ if nchar(65217) = nchar(65218) print 'equal' if nchar(65217) = nchar(65219) print 'equal' if nchar(65217) = nchar(65220) print 'equal' W oparciu o relację przechodnią oznacza to, …
W bazie danych transakcji obejmującej 1000 podmiotów w ciągu 18 miesięcy chciałbym uruchomić zapytanie w celu grupowania każdego możliwego 30-dniowego okresu entity_idz sumą ich kwot transakcji i COUNT ich transakcji w tym 30-dniowym okresie, oraz zwrócić dane w sposób, który mogę następnie wykonać zapytanie. Po wielu testach ten kod osiąga …
Napisałem aplikację z zapleczem SQL Server, która gromadzi i przechowuje oraz bardzo dużą liczbę rekordów. Obliczyłem, że u szczytu średnia liczba zapisów wynosi około 3-4 miliardy dziennie (20 godzin pracy). Moje oryginalne rozwiązanie (zanim wykonałem faktyczne obliczenie danych) polegało na tym, że moja aplikacja wstawiała rekordy do tej samej tabeli, …
Niektóre tabele INNODB w naszej produkcyjnej bazie danych wkrótce przekroczą limit INT AUTO_INCREMENT wynoszący 2147483647 i musimy je zmienić na BIGINT, w przeciwnym razie zapisy zaczną się nie powieść. Tabele znajdują się w produkcyjnej bazie danych MySQL 5.6.19a działającej na Amazon RDS. Jak możemy zrobić ALTER tak, aby nie zakłócać …
Oto mój scenariusz: Pracuję nad lokalizacją dla mojego projektu i zwykle robiłbym to w kodzie C #, jednak chcę to zrobić trochę więcej w SQL, ponieważ próbuję trochę wzmocnić mój SQL. Środowisko: SQL Server 2014 Standard, C # (.NET 4.5.1) Uwaga: sam język programowania powinien być nieistotny, podaję go tylko …
Jestem nowy w DBMS i wciąż uczę się teorii. Naprawdę mylę się z tym kluczowym biznesem i po googlowaniu zawęziłem go do zaledwie dwóch kluczy, których nie dostaję (klucz podstawowy i super klucz). Mam kilka pytań na temat DBMS. Byłbym wdzięczny, gdybyś mógł mi odpowiedzieć na nie. 1) Jaka jest …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.