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ć

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
