FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Jag har nyligen lärt mig använda CONCAT i mysql-frågor, vilket jag tycker är otroligt mycket smidigare än att ha milslånga frågor i stil med "...AND foo LIKE "%bar% AND foo2 LIKE "%bar%"...
Blir det någon skillnad i prestanda och riskerar man kompatibilitet med webbhotell som kör gamla verrar av mysql om man skriver frågor med CONCAT istället, typ SELECT * FROM my_table WHERE CONCAT(city, municipality, county, description) LIKE "%Stockholm%" |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Medlem
|
Jag kan inte tänka mig att det finns någon MySQL-installation som inte stödjer/tillåter CONCAT. Om du hittar någon med en sådan så ta det som ett bra argument för att söka vidare.
På prestandaavdelningen så kan fler funktionsanrop inte leda till förbättrad prestanda, så mycket är säkert. Alla möjligheter för MySQL att använda eventuella index åker också rakt ut genom fönstret. Vill du nödvändigtvis söka på det sättet så kanske du skulle fundera på att skapa en ny tabell där all data redan körts genom CONCAT. Exempelvis en tabell search med fälten id och data. Gör sökningen mot search.data och join'a ihop resultatet mot din huvudtabell via id. |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
En idé är att göra ett nytt fält i databasen med "sökord" där man tar bort onödiga ord som t ex "gatan", mellanrum, kanske vissa ord eller tecken, siffror, eller kanske lägger till synonymer, olika stavningar osv. Detta kan nog hjälpa dig och dessutom ge mervärde eftersom man ha med olika felstavningar.
|
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Citat:
|
||
![]() |
![]() |
Svara |
|
|