Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Projekt dużej bazy
Renamon
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 25.04.2010

Ostrzeżenie: (0%)
-----


Potrzebuję zaprojektować dużą bazę (być może nawet kilka set milionów rekordów)
Baza danych będzie zawierać kolory (R,G,B - do 255 czyli wystarczy TINYINT unsigned) , następne będzie 3 ciągi znaków od 000 do 255255255 (w tym wypadku zostaje mi jedynie int ? wykorzystane 28 z 32 bitów - 4 bity zmarnowane na każdy rekord) jeden oznaczający obecne kolory i 2 potrzebne do wyszukania z których zostały stworzone (to już raczej nie istotne tak musi być (IMG:style_emoticons/default/tongue.gif) ).

Czyli sama tabela wygląda tak:

R TINYINT unsigned
G TINYINT unsigned
B TINYINT unsigned
Znak INT unsigned
Zak1 INT unsigned
Znak2 INT unsigned


Program będzie pobierał 2 wartości R,G,B 2 różnych rekordów mieszał je wg. wzoru oraz zapisywał R,G,B, Znak tego co wyszło oraz Znak1 i Znak2 aby można było znaleźć z jakich zrobił.

Z racji tego że będzie potrzeba dużo miejsca na bazę zastanawiam się czy nie rozdzielić znaki:
zamiast Znak1 - R1,G1,B1
zamiast Znak2 - R2,G2,B2

wtedy oszczędzamy po 6 bajtów na każdy rekord ale będzie trzeba zapisywać więcej liczb (chyba że to że te liczby będą mniejsze to też +)

Czy potrzebuję jeszcze pola które będzie numerował rekordy czy można w jakiś sposób wyciągnąć od 5 do 10 rekordu?

Oraz czytałem trochę o indexowaniu wyszukiwać będę tylko po nr. rekordu więc chyba tylko w tym miejscu muszę dodać index?

Ewentualnie inne pomysły jak można by było zbudować taką tabelę aby jak najbardziej zaoszczędzić miejsce jednocześnie nie tracić na szybkości działania (oczywiście i na jednym i na drugim mi zależy (IMG:style_emoticons/default/tongue.gif) )
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:23