Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    355

    [MYSQL] problema prestazioni query

    Sono in questa situazione, ho tre tabelle:

    caratteristiche (id_caratteristica, desc)
    oggetto (id_oggetto, nome)
    caratteristiche_oggetto (id_caratteristica, id_oggetto)

    Poi ho una form di ricerca con dei checkbox per le caratteristiche e devo restituire le informazioni su gli oggetti che hanno tutte le caratteristiche selezionate nel form.

    Il problema è che la tabella caratteristiche_oggetto ha oltre 300.000 record e da alcune prove fatte in precedenza le query (mi sembra con exists) erano tremendamente lente, così lente da preferire avere una colonna per caratteristica nella tabella oggetto sito veloce ma decisamente non flessibile...

    In questo momento non riesco a trovare una query che mi permetta di estrarre dalla tabella caratteristiche_oggetto gli oggetti che hanno la caratteristica_1 e caratteristica_2 e ... e caratteristica_n, avete qualche suggerimento?

  2. #2
    ma intendi

    SELECT * FROM tabella where campo1='find1' and where campo2='find2' and where campo3='find3'

    ?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    355
    Così è come facciamo adesso, però i vari campi sono da aggiungere alla tabella oggetto anche a chi non ne ha bisogno. Diventa quindi una gestione statica dove sappiamo a priori le caratteristiche e le loro descrizioni.

    Quello che vogliamo fare adesso è praticamente normalizzare la tabella oggetto (che come ho detto abbiamo lasciato così solo per una questione di prestazioni). Di conseguenza avremo una tabella per le caratteristiche, una per gli oggetti ripulita dei campi in eccesso e una tabella che gestisce le relazioni (molti a molti) tra gli oggetti e le caratteristiche.

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.