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
-------------------- Jeśli my czegoś nie zrobimy, zrobią to za nas inni
|
|
|
|
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 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 -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
|
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 Oczywiście, że chodzi o bajty. Nie łap mnie za słowa 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%)
|
Po prostu ustaw kodowanie ASCII. VARBINARY nie służy do przechowywania tekstu, tylko do danych binarnych. Tylko gdzie ustawić to kodowanie, bo w opcjach phpmyadmina nie ma takiej mozliwości. -------------------- |
|
|
|
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: 20.08.2025 - 03:50 |