![]() |
![]() |
![]()
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 Projektuję bazę danych i chciałbym użyć typu tekstowego na minimum 1000 znaków czyli pole CHAR, oraz VARCHAR odpada. A sprawdziłeś? Dokumentacja mówi inaczej Cytat Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 65,535. Cytat 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. Informacje wyssane z palca czy poparte testami? Żaden typ nie będzie miał znaczącej wyższości nad drugim jeżeli wyszukujesz klauzulą LIKE - jeżeli chcesz mieć bardzo szybkie wyszukiwanie pełnotekstowe to użyj sphinx'a Cytat Który typ danych większy od 255 znaków zajmuje w pamięci stałą liczbę bajtów niezależnie od ilości danych? Jedynie char może mieć stałą liczbę znaków (nie mylić ze stałą liczbą bajtów). Cytat Czy ma ktoś link do jakiegoś ładnego zestawienia tych typów w tabelce, z podziałem na te dwie różne możliwości? http://dev.mysql.com/doc/refman/5.1/en/char.html |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 01:29 |