![]() |
![]() ![]() |
![]() |
![]()
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ę :
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 |
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.07.2025 - 07:47 |