![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 4 Dołączył: 13.01.2004 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
witam
mam aktualnie 2 tablice A-> 8pól głównie numerycznych - wszystkie "małe" z dużą ilością rekordów (w przyszłości milion+) B-> 2pola - 1 - link do tablicy A, oraz drugie pole - text - zawartość może zajmować do 1kb i teraz: NIE KAŻDY rekord z tablicy A ma swój rekord w tablicy B, ale KAŻDY rekord w tablicy B ma swój odpowiednik w tablicy A. pytanie brzmi, zostawić to rozdzielone na dwie tablice, czy może połączyć je razem, zostawiając około 50% rekordów tekstowych pustych. pytanie jest czysto wydajnościowe - które rozwiązanie będzie szybsze przy milionach rekordow w tablicy A i gdzies połowie mniej rekordów w tablicy B. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
Połącz w jedną tabelę. Selectuj tylko to co potrzebujesz (nie rób select *). Skup się na indeksach. Zakładaj je tylko na najważniejszych polach bo bardzo wydłużają czas sortowania ewentualnego temp table. Dobierz dobrze typy kolumn:
tutaj masz ile zajmują miejsca: http://dev.mysql.com/doc/refman/5.0/en/sto...quirements.html a tutaj ile sie miesci w numericach http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html im mniej będzie zajmował pojedynczy rekord, tym szybciej bedzie wszystko działało. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 07:06 |