2009-03-04 14 views
7

Wiem, że w SQL Server maksymalna liczba "obiektów" w bazie danych wynosi nieco ponad 2 miliardy. Obiekty zawierają między innymi tabele, widoki, procedury składowane, indeksy. W ogóle nie martwię się, że przekroczę 2 miliardy przedmiotów. Jednakże, chciałbym wiedzieć, czy SQL Server cierpi z powodu trafienia wydajnościowego wynikającego z dużej liczby tabel. Czy każda dodawana tabela ma trafność wydajnościową, czy też zasadniczo nie ma różnicy (zakładając stałą ilość danych). Czy ktokolwiek ma doświadczenie w pracy z bazami danych z tysiącami tabel? Zastanawiam się również samo o MySQL.Maksymalna liczba funkcjonujących tabel w SQL Server i MySQL

Odpowiedz

8

Bez różnicy, zakładając stałą ilość danych.

Prawdopodobnie zysk w praktyce z powodu rzeczy, takich jak zmniejszenie okien alimentacyjnych (mniejszy wskaźnik odbudowuje), umiejętność nie tylko do odczytu grupy plików itp

Wyniki są ustalane przez kwerend i indeksów (na najbardziej podstawowym poziomie): nie liczba obiektów

1

Wątpię, że SQL Server będzie miał problem z wydajnością pracy z tysiącami tabel, ale na pewno.

Pracowałem na bazach danych z setkami tabel w SQL Server bez żadnych problemów.

+0

Musiałem przeczytać twoje pierwsze zdanie kilka razy. Rozumiem, skąd się wywodzisz, ale to w zasadzie wiele stołów o tej samej strukturze, a nie coś, co można indywidualnie zarządzać. – Kibbee

+1

Jeśli tabele są generowane programowo, to jako programista można również programowo zająć się nimi. Brak problemów z wydajnością (przynajmniej zawodowo). – Davos

0

Serwer SQl może ucierpieć z powodu większej wydajności, używając tabel z wieloma, wieloma kolumnami zamiast wyłuszczania pokrewnej tabeli (nawet takiej z relacją jeden do jednego). Plus szeroki stół prawdopodobnie może mieć problemy, gdy dane, które chcesz wprowadzić, przekraczają liczbę bajtów, które możesz zapisać dla kolumny. Możesz utworzyć tabelę, która ma potencjał do zapisania, na przykład, 10000 bajtów, ale nadal będziesz w stanie przechowywać tylko 8060 bajtów.

+0

Jest to przydatna informacja, ale w żaden sposób nie odpowiada na zadawane pytanie. – Kibbee

+0

BUt to powód, dla którego pytasz, czy zbyt wiele tabel powoduje problem z wydajnością, polega na tym, że rozważasz konsolidację, zamiast tworzyć tak wiele, co w rzeczywistości tworzy o wiele większy problme wydajności i osoba powinna być tego świadoma. – HLGEM

4

Pod względem maksymalnej liczby tabel posiadałem bazę danych z 2 milionami tabel. Brak skuteczności w ogóle. moje stoły, w których każdy ma około 15 MB.

+0

To było pomocne dzięki. Jestem googlakiem :) – BOSS

0

Z mojego doświadczenia nie sądzę, że liczba stołów uderzy w wydajność. Ale wtedy powinieneś być w stanie uzasadnić, dlaczego masz tak wiele tabel w bazie danych. Dzieje się tak dlatego, że posiadanie tak wielu tabel po stronie bazy danych wpłynie również na pracę programisty po stronie serwera.

IMO, jeśli podzielisz tabele na podstawie funkcjonalności, nie będziesz w stanie ułatwić życia programistom, ale uzyskasz także lepsze wyniki w swojej aplikacji, ponieważ masz stałe tabele z których chcesz pobrać wymagane dane.

Powiedz, że musisz przechowywać szczegóły dotyczące sprzedaży, zakupu, odbioru i płatności. Wszystkie mają taką samą strukturę tabeli, a następnie zamiast zapisywać je w jednym stole, można je przechowywać oddzielnie w oddzielnych tabelach. z tymi można uzyskać wszystkie szczegóły dotyczące sprzedaży w jednym stole, do zakupu w jednym stole i podobnie. w ten sposób może pomóc w poprawie czasu odpowiedzi warstwy bazy danych aplikacji, która jest jednym z najwolniejszych składników we wszystkich warstwach internetowych ... !!! Oczywiście kładziemy nacisk na wydajność bazy danych przez zapytania SQL, ale wtedy taka struktura może również pośrednio pomóc poprawić wydajność bazy danych.

Powiązane problemy