Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [SQL Server] Lentezza query da php tramite driver microsoft

    Ciao a tutti!

    Mi sto connettendo ad un db MSSQL tramite il driver php MSSQL di microsoft.

    Il server web gira su IIS con php 5.2.x, e mi connetto ad un'altra macchina in dmz su cui gira SQL Server express 2005.

    Quello che succede è che per una query banalissima:

    SELECT TOP 29 exp_ditte.* FROM exp_ditte ORDER BY rag_soc

    L'operazione mi richiede ben 14,5 secondi, il che è francamente ingestibile...

    Tenendo presente che se testo la cosa sul mio pc di sviluppo, avendo SQL express e PHP sulla stessa macchina tutto è velocissimo, cosa potrebbe essere secondo voi il problema?

    Qualcuno sa come verificare che il driver SQL di microsoft per php sia impostato per ottenere subito tutti i record e non perdere tempo a comunicate un sacco di volte per scaricarli?

    Ogni idea è la benvenuta!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  2. #2
    up
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Giusto per curiosità se fai

    set rowcount 29
    SELECT exp_ditte.* FROM exp_ditte ORDER BY rag_soc

    i tempi sono lo stesso biblici?

  4. #4
    Assolutamente uguali, anzi, forse sono addirittura superiori...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5

  6. #6
    Migliora, ma rimane lo stesso terribile: da 14.8 diventa 14.3 , che per 30 record mi sembra veramente un'esagerazione...

    (a proposito, grazie per l'aiuto a tutti! )
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #7
    Nessun'altra idea?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Un dubbio...
    Siamo sicuri che dipenda da php (e dal suo driver, etc..) ?
    Nel tuo PC la cosa è velocissima, ma sia il db che il sito sono sulla stessa macchina
    Hai provato ad eseguire la stessa query dal server IIS, utilizzando uno dei vari tool che possono collegarsi a SQL 2005 (ce ne sono anche che non richiedono installazione), per vedere come va (e quindi per escludere che vi siano lentezze di rete, di routing nella dmz, etc) ?

  9. #9
    Ehm... No, non sono affatto sicuro che il problema stia in php o nel suo driver per MS SQL server, anzi, è proprio per escludere che il problema sia in queste parti, di cui mi devo occupare io, che mi adopero, e stia invece altrove, così che chi di dovere non possa fare lo scaricabarile, ma sia costretto a prendersi le sue responsabilità...

    Avevo anche pensato al tipo di cursore come fonte del problema, ma tutti quelli che a me vanno bene, ovvero quelli per cui posso fare sqlsrv_num_rows, fanno uguale...

    Altre idee?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #10
    allora inizia col toglierti qualche dubbio, lanciando la stessa query da SQL Management Studio, sia da una macchina remota che direttamente sul server sql

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