sql >> Database >  >> RDS >> Mysql

Mysql datetime index werkt niet bij gebruik van 'like'

In MySQL de DATETIME type wordt intern opgeslagen als een nummer van 8 bytes, en niet als een tekststring. Daarom is de index die u op het moment . hebt gemaakt kolom werkt voor het opzoeken van een gegeven numerieke datum waarde .

In uw vraag:

SELECT * FROM index_test WHERE moment LIKE '2015-06-08%'

de MySQL-engine cast eerst impliciet het moment kolom naar een VARCHAR typ en vergelijkt vervolgens met '2015-06-08%' .



  1. Audittriggers maken in SQL Server

  2. TOON ALLE data tussen twee data; als er geen rij bestaat voor een bepaalde datum, toon dan nul in alle kolommen

  3. Totale rijen tellen en groeperen op een kolom in mysql

  4. Hoe kan ik een grote grafiek van een .NET-object serialiseren in een SQL Server BLOB zonder een grote buffer te maken?