Visualizzazione dei risultati da 1 a 3 su 3

Discussione: ottimizzazione query

  1. #1

    ottimizzazione query

    Ciao a tutti, sto cercando di estrapolare i dati da due tabelle di questo tipo

    TAB hotel

    id
    nome
    ...

    TAB giorni_prenotati

    id_hotel
    data
    ...

    Praticamente ho tutti i giorni prenotati per ogni hotel nella tabella giorni_prenotati che occupano singolarmente un record.
    Dato che devo fare un motore di ricerca per disponibilità, in cui l'utente mette arrivo e partenza, ho pensato di utilizzare NOT IN e in base ai giorni che seleziona l'utente esce una query di questo tipo:

    SELECT * FROM hotel WHERE id NON IN (SELECT id_hotel FROM giorni_prenotati WHERE data = .....)

    Dato che di solito i periodi sono anche un po' lunghi (una settimana) la query dinamica diventa un po' lunga e il problema principale è che ci metto tantissimo ad eseguirla, secondo voi come posso risolvere? C'è un modo migliore per estrapolare i dati che mi servono con un database fatto così (che non posso modificare)
    Grazie
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    non so come fai con l'uguale nella nested query ma dovresti fare

    where data between data1 and data2

    Quindi la lunghezza della query è fissa a prescindere delle date di partenza-arrivo, tra l'altro non c'entra molto con php ma con mysql

  3. #3
    Grazie mille, effettivamente in questo modo la query si è velocizzata moltissimo, ci mette ancora un po' ma credo si possa ottimizzare la tabella.
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.