Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę przechowywać tablicę wartości logicznych w bazie danych MySql?

Jeśli szukasz sposobu, aby to zrobić w sposób, który można przeszukiwać, to nie.

Kilka przeszukiwalnych metod (obejmujących więcej niż 1 kolumnę i/lub tabelę):

  • Użyj kilku SET kolumny. Ograniczasz się do 64 pozycji (wł./wył.) w zestawie, ale prawdopodobnie nie możesz znaleźć sposobu na ich pogrupowanie.
  • Użyj 3 tabel:Elementy (id, ...), FlagNames(id, name) i tabeli przestawnej ItemFlags(item_id, flag_id). Następnie możesz wysyłać zapytania o elementy z połączeniami .

Jeśli nie potrzebujesz go do przeszukiwania, wszystko, czego potrzebujesz, to metoda serializacji danych przed umieszczeniem ich w bazie danych i odserializowanie ich po wyciągnięciu, a następnie użycie kolumny char lub varchar.

  • Użyj funkcji wbudowanych w Twój język (serializuj/unserializuj PHP).
  • Połącz ze sobą serię znaków „y” i „n”.
  • Umieść bitowe wartości w łańcuchu (8 bitów na znak) w kliencie przed wywołaniem bazy danych MySQL i rozpakuj je podczas pobierania danych z bazy danych. Jest to najbardziej wydajny mechanizm przechowywania (jeśli wszystkie wiersze są takie same, użyj char[x], a nie varchar[x]) kosztem danych niemożliwych do przeszukiwania i nieco bardziej skomplikowanego kodu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak pobrać wiele zestawów wyników z procedury składowanej mysql w laravel?

  2. Jaki jest poprawny format DateTime dla bazy danych MySQL?

  3. formularz przepustki wybrany do następnej strony

  4. wartość max_connections w AWS RDS

  5. Jak dodać 1 do wartości kolumny istniejącego wiersza w mysql