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

Wykonywanie porównania LIKE na polu INT

Możesz CAST pole do ciągu:

 ... WHERE CAST(ProductID as CHAR) LIKE '%15%'

jest to bardzo złe dla wydajności, ponieważ mySQL nie może używać żadnych indeksów, które utworzył dla kolumny INT. Ale wtedy LIKE jest zawsze powolny, nawet jeśli jest wykonywany na polu varchar:nie ma możliwości uzyskania indeksu, który przyspieszy zapytanie LIKE.

Może warto mieć drugi varchar kolumna, która odzwierciedla int wartości kolumny i zrobienie PODOBNEGO na tej - musisz przeprowadzić analizę porównawczą, aby dowiedzieć się, czy przyniesie to coś dobrego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie backticków wokół nazw pól

  2. Jak wyświetlić dane Unicode za pomocą PHP

  3. Dlaczego musimy zamknąć bazę danych MySQL po poleceniu zapytania?

  4. Jaki tryb dla MySQL WEEK() jest zgodny z ISO 8601?

  5. Jak dodać więcej niż jeden wiersz za pomocą Zend_Db?