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

zapytanie wybierające mysql w szeregowanej tablicy

Jak mówi GWW w komentarzach, jeśli chcesz zadawać pytania w ten sposób, naprawdę powinieneś rozważyć przechowywanie tych danych jako czegoś innego niż duży ciąg znaków (którym jest twoja zserializowana tablica).

Jeśli nie jest to możliwe (lub po prostu jesteś leniwy), możesz użyć faktu, że zserializowana tablica jest po prostu ciągiem typu big-ole i wymyślić klauzulę LIKE, aby znaleźć pasujące rekordy. Sposób, w jaki PHP serializuje dane, jest dość łatwy do zrozumienia (wskazówka:te liczby wskazują długość rzeczy).

Teraz, jeśli twoja zserializowana tablica jest dość złożona, to szybko się zepsuje. Ale jeśli jest to płaska tablica, powinieneś być w stanie to zrobić.

Oczywiście będziesz używać LIKE '%...%', więc żadne indeksy nie pomogą, a wydajność będzie bardzo słaba.

Właśnie dlatego ludzie sugerują, że przechowujesz te dane w znormalizowany sposób, jeśli potrzebujesz zapytania „wewnątrz”.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dołącz do tabel z problemem SUM w MYSQL

  2. Jak usunąć duplikaty z tabeli MySQL?

  3. Jak określić wersję MySQL

  4. MySQL JOIN z LIMIT 1 na połączonym stole

  5. Migracje na żywo przy użyciu replikacji MySQL