effektiv jämförelse i MySQL/php

  • Författare
  • Meddelande

niod09

html-kodare

  • Inlägg: 16
  • Blev medlem: 17 jan 2012, 00:20

effektiv jämförelse i MySQL/php

Inlägg12 dec 2012, 14:32

Hur gör man för att snabbt jämföra större tabeller på ett så effektivt sätt som möjligt?
Antag att jag har en tabell med 100 000 användare. Varje användare har 200-300 olika egenskaper i en annan/andra tabell/tabeller.
Säg att jag som inloggad användare vill jämföra vilken av de andra användarna som är mest lik mig, dvs har flest egenskaper gemensamt. Jag måste alltså jämföra alla mina egenskaper med alla andras. Någon som vet något effektivt sätt för att hålla nere tidsåtgången?
Användarvisningsbild

mos

dbwebb

  • Inlägg: 11199
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: effektiv jämförelse i MySQL/php

Inlägg13 dec 2012, 00:30

Säg att vi har en online dating-site där jag vill hitta min ultimata matchning.

Av 300 möjliga egenskaper så klickar jag för de som är viktigast och klickar "Sök".

Exakt hur jag hade lagt upp sökningen och lagringen av personer och egenskaper beror mest på de egenskaper jag vill söka på. Det finns flera alternativa sätt att lagra egenskaperna och beroende på vilket jag väljer så får jag olika möjligheter att söka ut resultatet.

300 egenskaper kan lagras i en char[300] om jag vill. Det skulle reducera antalet joins. Jag kan använda minnestabeller eller förbearbeta informationen om det behövs. Tex gruppera per ålder, kön, eller liknande som snabbt delar in hela mängden i mindre delar där det räcker att söka endast en delmängd.

Val av lagringsstrukutrer och rätt valda index är självklara åtgärder att se över.

Men, även med 100 000 rader så kan jag nog vänta någon sekund. Är det en dejtingsite så väntar jag gärna ett par sekunder så jag vet att det blir en bra matchning...
...
..:
.... /mos

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 9 gäster