Implementazione della ricerca su set di dati di grandi dimensioni, procedura memorizzata PHP o Mysql?

1

Sto costruendo un sistema di ordinazione alimentare online con PHP e MySQL, Una delle funzionalità dell'applicazione è consentire agli utenti di cercare i ristoranti digitando il nome dell'area. Mi piacerebbe sapere che usare PHP per la ricerca sarà più efficiente o utilizzare la stored procedure o utilizzare qualsiasi strumento di terze parti.

Efficiente nel senso in cui deve essere ricercata tra un grande insieme di dati quale sarà il più veloce?

    
posta user92961 04.06.2013 - 10:14
fonte

2 risposte

3

Molto probabilmente questo dovrebbe essere fatto con SQL. Questo sarebbe più semplice e avrebbe prestazioni migliori.

Ma dipenderebbe da alcuni dettagli. Specialmente quanto esatto o complicato vuoi che sia in grado di trovare le informazioni che l'utente ha digitato (forse un elenco di aree disponibili sarebbe un'opzione ui migliore qui)

Potresti fare una semplice ricerca come:

SELECT * FROM areas WHERE name LIKE 'input%';

Questo naturalmente fallirebbe per qualsiasi errore di battitura effettuato dall'utente e potrebbe restituire diversi record e dovresti offrire all'utente ulteriori opzioni per selezionarne uno.

Supponendo che a un certo punto hai trovato un singolo record, dovrebbe essere semplice trovare ristoranti per area_id.

    
risposta data 04.06.2013 - 10:20
fonte
1

Potrebbe essere necessario riprogettare il modo in cui il cliente fornisce le informazioni "area". Le informazioni geografiche sono naturalmente in gerarchia. Quindi è meglio fornire un processo di input a più fasi. Tutti i ristoranti sono memorizzati con informazioni di stato, città, città o via, il cliente verrà fornito con un elenco a discesa, prima selezionare uno stato, quindi selezionare una città, quindi una città o una strada, quindi recuperare i ristoranti corrispondenti e visualizzarli la pagina.

Oppure, sfrutta l'API del fornitore di servizi di mappe, per prima cosa converti le loro INPUT in coordinate. E hai le informazioni sulle coordinate associate a ciascun ristorante.

    
risposta data 04.06.2013 - 10:34
fonte

Leggi altre domande sui tag