Administratorzy baz danych

Pytania i odpowiedzi dla profesjonalistów baz danych, którzy chcą poprawić swoje umiejętności baz danych i uczyć się od innych w społeczności


2
Dlaczego operator konkatenacji szacuje mniej wierszy niż dane wejściowe?
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 …

3
Duży (> 22 tryliony elementów) zbiór danych geoprzestrzennych z szybką (<1s) wydajnością zapytania do odczytu
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 …


1
SQL Server - Obsługa lokalizacji ciągów w zagnieżdżonych niedeterministycznych stosach widoków
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 …


6
Wydajność a = 0 i b = 0 i… z = 0 vs a + b + c + d = 0
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 …

3
Dlaczego utworzenie prostej grupy wierszy CCI może potrwać do 30 sekund?
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 …

3
Implementowanie podtypu podtypu we wzorcu projektowym typu / podtypu z wzajemnie wykluczającymi się podklasami
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; …

2
Dlaczego te znaki są takie same w SQL Server?
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, …

1
Krocząca suma / liczba / średnia w przedziale dat
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 …

3
Ogromne dane i wydajność w SQL Server
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, …

3
ALTER kolumna klucza podstawowego od INT do BIGINT w produkcji (MySQL 5.6.19a)
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ć …
20 mysql  innodb 



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.