sql >> Databasteknik >  >> RDS >> Mysql

mysql partiell indexering, omvänd indexering

Du kan skapa ett index på ett fält som är begränsat av prefixlängd, vilket innebär att endast de första n tecknen kommer att beaktas, men du kan inte göra det med en godtycklig start- och slutposition. Läs mer om det på mysqls SKAPA INDEX dokumentationssida.

I det här fallet skulle jag bara skapa en annan kolumn, använd mysqls BACK funktion för att fylla i det och skapa ett index på det, på så sätt får du ett fält att söka på efter baksidan av det ursprungliga ordet.

Andra databaser som Postgresql låter dig indexera ett uttryck , vilket effektivt skulle tillåta dig att indexera reverse(col_name) utan att skapa den extra kolumnen. Så det är möjligt, bara inte med mysql just nu. (eftersom version 9 potgresql har reverse() inbyggt tror jag)




  1. Hur man använder MySQL användarvariabler med ADO.NET

  2. MYSQL skiftlägeskänslig sökning (med viloläge) för utf8

  3. Kopiera/duplicera SQL-rad med blob/text, hur gör man det?

  4. Awesome 24 Concurrent Manager Intervju frågor