Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Migliori prestazione: N query o N*k variabili?

    devo recuperare N x 5 valori da un database DB1 in cui N sono le righe e 5 le colonne.
    in media 20 < N < 30

    per ogni riga ho bisogno di recuperare dei valori da un altro database DB2 (uno e mysql l'altro postgre quindi niente join ) e poi stampare quello che ho trovato in entrambe i database.

    cosa e' piu' conveniente fare:


    - Con i dati di ogni riga di DB1 faccio la query su DB2 (N query su DB1) e poi stampo tutto

    - Memorizzo il risultato di una query che considera tutte le N righe di DB1 in una matrice (N*5 variabili e una sola query su DB1) e poi uso questi dati per cercare dentro DB2

    quindi : meglio tante query o una matrice grossa?


    oppure esiste un modo per fare union,join o qualunque altra cosa fra database diversi?


    spero che si capisca quel che devo fare...

  2. #2
    ti conviene che ti estrai tutti i dati dal primo database, ti costruisci la chiave di ricerca e lanci la query li su postgresql

  3. #3
    sondaggione!!!

    quindi "mega matrice" ?


    dimenticavo: sono su Apache/2.2.0 (Fedora)
    visto che si parla di risorse.....

  4. #4
    sisi, ti conviene la matrice:
    - estrai tutti i dati di mysql e li inserisci in una matrice
    - nel contempo ti costruisci una chiave di ricerca sfruttando la sintassi di campo IN (elenco di valori separati da virgola)
    - query il database estraendo i valori che ti servono e nel contempo unisci le matrici

    ovviamente ti conviene le chiavi degli array apponendo qualche informazioni che puoi recuperare dal database psotgresql per associargli il dato. In questo modo l'operazione è estremamente leggera e non pesa sulla cpu ne sulla memoria della macchina

    Se non puoi fare questo ti consiglio di verificare attentamente la struttura a livello logico perché è facile che modificando qualcosa riesci a ottenere quello che ti serve

  5. #5
    anche io punto sulle matrici e rilancio con una proposta indecente......

    copiare il contenuto da psotgresql ogni tot minuti e poi fare una query è fattibile?

    se non serve che i dati siano in tempo reale potrebbe essere una buona strada
    ciao

  6. #6
    Originariamente inviato da bubu77
    anche io punto sulle matrici e rilancio con una proposta indecente......

    copiare il contenuto da psotgresql ogni tot minuti e poi fare una query è fattibile?

    se non serve che i dati siano in tempo reale potrebbe essere una buona strada
    ciao
    se si facesse cosi sicuramente si otterrebberò prestazioni "ecceziunali", il problema è però che i dati non sarebberò ottenuti in tempo reale

    Ci sarebbe da vedere se postgresql permette, tramite dei triggers di sfruttare le stored procedures per copiare il contenuto nel database mysql

    In questo caso ci penserebbe il database a fare l'operazione e i dati sarebberò sempre aggiornati

    Magari sfruttando php stesso

    https://projects.commandprompt.com/public/plphp

  7. #7
    Originariamente inviato da daniele_dll
    sisi, ti conviene la matrice:
    - estrai tutti i dati di mysql e li inserisci in una matrice
    - nel contempo ti costruisci una chiave di ricerca sfruttando la sintassi di campo IN (elenco di valori separati da virgola)
    - query il database estraendo i valori che ti servono e nel contempo unisci le matrici

    esatto!
    e' proprio quello che avevo in mente.

    grassie a tutti!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.