![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Witam!
Stworzylem baze danych z polem typu VARCHAR o dlugosci 5, jednak udaje mi się wpisac do niego wartosci typu: "aąbcć", a jak wiadomo taki ciąg jest reprezentowany przez 7 bitów. Próbowałem machać opcją "Metoda porównywania napisów", ale ona chyba nie ma odzwierciedlenia w sposobie przechowywania tych danych. Zadaję to pytaie ponieważ chciałbym jak najlepiej zoptymalizować bazę pod kątem szybkości, a z założenia nie będzie w tej bazie zapisanych polskich znaków. Ten post edytował flashdev 12.01.2010, 23:33:42 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 12 Dołączył: 16.07.2006 Skąd: : getCity ( ); Ostrzeżenie: (0%) ![]() ![]() |
po co optymalizować? dokup sobie kość pamięci i po kłopocie
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście, że metoda porównywania napisów nie ma nic wspólnego ze sposobem przechowywania tych danych, za to KODOWANIE już tak. Bawisz się nie tą opcją, co trzeba.
Cytat "aąbcć", a jak wiadomo taki ciąg jest reprezentowany przez 7 bitów. 7 bitów? Wow, co to za genialne kodowanie? Kompresja jakaś wbudowana i w ogóle (IMG:style_emoticons/default/smile.gif) jarmiar -> to nie ma nic wspólnego z zajętością pamięci, tylko z szybkością przetwarzania tekstu. Część operacji na tekście o zmiennej długości znaków ma większą złożoność obliczeniową. I niestety muszę Cię zmartwić, ale tu szybszy procesor niekoniecznie pomoże. Jest różnica, gdy jakąś informację możesz wyciągnąć w czasie stałym, a gdy musisz przeskanować do jej uzyskania cały tekst, który może liczyć np. 20 KB. W ogóle to życzę powodzenia z takim podejściem. Ten post edytował Zyx 12.01.2010, 23:51:49 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Pomimo pojawienia się powyższego błyskotliwego rozwiązania w dalszym ciągu oczekuję na rozwiązanie mojego problemu.
Czyli jak zapisywać te ciągi bez polskich znaków (5 znaków = 5 bajtów). 7 bitów? Wow, co to za genialne kodowanie? Kompresja jakaś wbudowana i w ogóle (IMG:style_emoticons/default/smile.gif) Oczywiście, że chodzi o bajty. Nie łap mnie za słowa (IMG:style_emoticons/default/winksmiley.jpg) Chyba chodziło o typ danych VARBINARY - ustawiłem go i obcięło przykładowy wpis, czyli jest ok. Ten post edytował flashdev 12.01.2010, 23:58:50 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Po prostu ustaw kodowanie ASCII. VARBINARY nie służy do przechowywania tekstu, tylko do danych binarnych.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kodowanie wybierasz nie wprost ustawiając algorytm porównywania na ascii_bin/ascii_general_ci
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 17:44 |