Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odczyt pojedynczych znaków z pola
pc5
post 20.05.2007, 19:33:52
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

Ostrzeżenie: (0%)
-----


Witam,

Mam w tabeli 4-elementową tablicę checkboxków zapisaną w komórce, która ma taką definicję :

  1. `transport` BINARY(4) NOT NULL DEFAULT '0000'


Pole to często będzie przeszukiwane dlatego zależy mi na szybkości działania zapytania, które SPRAWDZI wartość tego pola.

Jak sprawdzić tylko pierwszy znak z komórki? Podobnie, jak sprawdzić TYLKO znak 2,3 lub 4?
Nie mam na to pomysłu patrząc od strony SQLa. Mógłbym rozbić to pole na 4 inne komórki z wartościami binarnymi o długości 1, ale jeżeli opcje transportu wzrosną do np 20...

Proszę o pomoc, może jakieś inne rozwiązanie?
Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
nospor
post 20.05.2007, 20:10:37
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jakbys uzyl zamiast binary varchar, to bys mogl uzyc substr:
http://dev.mysql.com/doc/refman/5.0/en/str...ction_substring
by podejrzec daną wartość. A do binary to nawet nie wiem czym sie operuje.

Pozatym czemu uzywasz na okreslenie stanu 0 lub 1 az jednego bajta? Skoro wiec mowisz ze mozesz miec tych stanow az 20, to potrzebowac bedziesz 20 bajtow.
Jakbys uzyl bitow a nie bajtow, to zapamietanie stanu 20 pozycji zajelo by ci 3 bajty. No i operacje byly szybsze bo operowaly by na bitach.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.07.2025 - 07:47