![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Witam,
Projektuję bazę danych i chciałbym użyć typu tekstowego na minimum 1000 znaków czyli pole CHAR, oraz VARCHAR odpada. Z jakiegoś artykułu wiem, że jeśli chce mieć szybkie wyszukiwanie muszę użyć CHAR, wtedy adres danej komórki można w oczywisty sposób obliczyć, ponieważ znamy rozmiar każdego wpisu. I teraz pytanie: Który typ danych większy od 255 znaków zajmuje w pamięci stałą liczbę bajtów niezależnie od ilości danych? Czy ma ktoś link do jakiegoś ładnego zestawienia tych typów w tabelce, z podziałem na te dwie różne możliwości? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 42 Dołączył: 22.07.2007 Skąd: /dev/random Ostrzeżenie: (0%) ![]() ![]() |
Cytat Informacje wynikajace ze zdrowego rozsądku. Nie zawsze się sprawdza (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Cytat Jeżeli wiem, ze wpis w bazie danych zajmuje dokładnie 1378 bajtów a chce wyciągnąć 15 678 wpis to wyciągam z zawartośc pamieci z pod adresu: 1378*15678. Tak ale taka sytuacja wchodzi w gre tylko wtedy kiedy cały rekord ma stałą szerokość i użyasz formatu ROW_FORMAT=FIXED na tabeli. Cytat Czyli rozumiem, że pozostaje mi tylko pocięcie danych na 4 części i wrzucenie do 4 osobnych CHARów? Nie rozumiem, dlaczego aż tak obawiasz się minimalnego spadku wydajności przy stosowaniu ciągów różnej długości. Podaj konkretny przykład może inne rozwiązanie będzie wydajniejsze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 23:31 |