![]() |
![]() |
![]()
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: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
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. Dokłądnie o to mi chodziło. Zauważyłem, że po wyborze mechanizmu składowania na MRG_MYISAM niezależnie czy używam CHAR, VARCHAR, czy TEXT format wiersza jest stały. Tylko przy wyborze MYISAM format zależy od tego jakie typy danych wybierzemy. Dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) 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. Duuużo rekordów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) 10^6 i wiecej. Chyba moje obawy są uzasadnione? @marcio Jeżeli chcesz to specjalnie dla Ciebie założe temat z kodem tego błędu i zapytam co oznacza ten błąd (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 10:03 |