Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Questo mouse ultraleggero, con soli 36 grammi di peso, è stato concepito per offrire un'esperienza di gioco di alto livello ai professionisti degli FPS, grazie al polling rate a 8.000 Hz e a un sensore ottico da 33.000 DPI. La recensione esplora ogni dettaglio di questo dispositivo di gioco, dalla sua agilità estrema alle specifiche tecniche che lo pongono un passo avanti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-12-2008, 10:01   #1
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
[MySQL] Server LENTO!

Ho installato nel PC di un conoscente "USB WEBSERVER" per consentirgli di utilizzare in locale le funzionalità del server MySQL attraverso il browser (firefox).

Deve utilizzare un software gestionale di contabilità che gli ho scritto in PHP.

Alcune query coinvolgono alcune decine di migliaia di record e per completarne il caricamento occorrono diversi minuti. Questo è molto scomodo, perchè capita che deve fare alcune modifiche o inserimenti in sequenza e non può perdere 15-20 minuti ad attendere il completamento dell'operazione.

Fino al mese scorso utilizzava AppServ, ma per motivi pratici è dovuto passare ad un server portabile (anche se non lo usa direttamente dalla memoria USB, ma bensì dal disco rigido). Con AppServ, seppur lenta, l'elaborazione di quelle specifiche query era decisamente + rapida di quanto non sia ora.

Qualcuno può suggerirmi un approccio per cercare di velocizzare l'elaborazione? Non so, impostazioni specifiche nei file di configurazione o passare ad altri server portabili o ottimizzare le query ecc...


P.S. la query che mi preme maggiormente di ottimizzare è una SELECT...

Ultima modifica di Lim : 19-12-2008 alle 10:03.
Lim è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2008, 10:56   #2
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21795
Quote:
Originariamente inviato da Lim Guarda i messaggi
Ho installato nel PC di un conoscente "USB WEBSERVER" per consentirgli di utilizzare in locale le funzionalità del server MySQL attraverso il browser (firefox).

Deve utilizzare un software gestionale di contabilità che gli ho scritto in PHP.

Alcune query coinvolgono alcune decine di migliaia di record e per completarne il caricamento occorrono diversi minuti. Questo è molto scomodo, perchè capita che deve fare alcune modifiche o inserimenti in sequenza e non può perdere 15-20 minuti ad attendere il completamento dell'operazione.

Fino al mese scorso utilizzava AppServ, ma per motivi pratici è dovuto passare ad un server portabile (anche se non lo usa direttamente dalla memoria USB, ma bensì dal disco rigido). Con AppServ, seppur lenta, l'elaborazione di quelle specifiche query era decisamente + rapida di quanto non sia ora.

Qualcuno può suggerirmi un approccio per cercare di velocizzare l'elaborazione? Non so, impostazioni specifiche nei file di configurazione o passare ad altri server portabili o ottimizzare le query ecc...


P.S. la query che mi preme maggiormente di ottimizzare è una SELECT...
fagli installare xampp sul pc e non usare applicazioni portable?
per ottimizzare le query ricordati di fare i join dopo aver fatto i where
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2008, 11:58   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Lim Guarda i messaggi
Alcune query coinvolgono alcune decine di migliaia di record e per completarne il caricamento occorrono diversi minuti. Questo è molto scomodo, perchè capita che deve fare alcune modifiche o inserimenti in sequenza e non può perdere 15-20 minuti ad attendere il completamento dell'operazione.
Non sono un esperto ma ci dev'essere qualcosa che non quaglia per forza: 15 o 20 minuti per decine di migliaia di record mi sembra francamente assurdo.
Ci deve essere qualcosa di grave da qualche parte.

In attesa che utenti più esperti intervengano per consigliarti potresti spiegare più in dettaglio come è strutturato e distribuito l'applicativo e il database?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2008, 12:20   #4
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
Purtroppo non credo che possa svincolarsi dal server portable...

Impiega circa 3 minuti per quella query, solo che capita sempre che deve farla in sequenza più di una volta e i tempi alla fine arrivano intorno ai 15 minuti per fare delle cose banalissime, sta sempre ad attendere l'elaborazione...

Per il discorso sui join, devo controllare bene il codice, forse potrebbe essere un modo per snellire, intanto GRAZIE A TUTTI!!!
Lim è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2008, 12:38   #5
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21795
Quote:
Originariamente inviato da Lim Guarda i messaggi
Purtroppo non credo che possa svincolarsi dal server portable...

Impiega circa 3 minuti per quella query, solo che capita sempre che deve farla in sequenza più di una volta e i tempi alla fine arrivano intorno ai 15 minuti per fare delle cose banalissime, sta sempre ad attendere l'elaborazione...

Per il discorso sui join, devo controllare bene il codice, forse potrebbe essere un modo per snellire, intanto GRAZIE A TUTTI!!!
è una delle ottimizzazioni più importanti, se fai un join di 2 tabelle da 1000 righe per poi ottenere con un where magari 5 valori sprechi un botto di tempo, è sempre meglio scremare i dati prima del join (ricorda che il join è l'operazione più esosa)
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2008, 13:19   #6
FixFixFix
Member
 
Iscritto dal: Dec 2008
Messaggi: 82
1)se metti clausole where su campi che non sono chiavi primarie, genera gli indici.

2)nel database fai il detach di tutti i db che non ti servono.

3)XAMPP tutta la vita...
__________________
Software house Manfriday
FixFixFix è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2008, 19:01   #7
CozzaAmara
Senior Member
 
L'Avatar di CozzaAmara
 
Iscritto dal: Nov 2008
Messaggi: 411
Hai controllato Firewall, Router ecc?
CozzaAmara è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2008, 07:58   #8
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
Quote:
Originariamente inviato da !fazz Guarda i messaggi
è una delle ottimizzazioni più importanti, se fai un join di 2 tabelle da 1000 righe per poi ottenere con un where magari 5 valori sprechi un botto di tempo, è sempre meglio scremare i dati prima del join (ricorda che il join è l'operazione più esosa)

Credo che questa sia la cosa + importante da fare allora...

Riporto qui sotto la query:
Codice PHP:
$query3="SELECT quantità,Nome_Prod,Nome_Cliente FROM clienti 
INNER JOIN ordini INNER JOIN prodotti WHERE prodotti.nome= '
$tmp[nome]' and 
clienti.nome= '
$tmp2[nome]' and prodotti.Nome=ordini.Nome_Prod and 
clienti.Nome=ordini.Nome_Cliente and ordini.Giorno='" 
$_POST['Giorno'] . "'";
            
$ordini mysql_query($query3)  
            or die(
'Query non valida: ' mysql_error()); 
Questa query fa parte di cicli while concatenati e di conseguenza viene eseguita all'incirca 3500 volte. Come potete vedere ci sono due JOIN.

I campi chiave coinvolti nelle clausole WHERE sono solo gli ultimi tre:
  • ordini.Nome_Prod
  • ordini.Nome_Cliente
  • ordini.Giorno

In giornata creerò gli indici per gli altri campi non chiave coinvolti nelle clausole WHERE e poi comunicherò i risultati...
Intanto ho creato al volo l'indice per il primo campo, ma la sua cardinalità è 0, devo popolarlo con un altro comando?


Comunque è strano, a casa mia lo script impiega poco più di 6 sec, mentre come dicevo, nel PC dove lo script viene usato effettivamente dal mio conoscente, impiega circa 3 minuti. La mia configurazione è un Athlon X2 Dual Core con freq effettiva dei due core a 2800MHz e 3 GB di ram, mentre la sua è un P4 a 3000MHz single core e 1GB di ram. Ovviamente c'è una bella differenza tra le due macchine, ma la sua impiega un ordine di grandezza in +, sinceramente mi sembra eccessivo...

Ultima modifica di Lim : 20-12-2008 alle 08:06.
Lim è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Un androide dal volto umano e in grado d...
Amazfit Balance 2 XT arriva in Italia: p...
Realme spoilera il nuovo GT 8 Pro: svela...
La Cina sorprende tutti: annunciato il p...
Samsung Galaxy S26 Ultra: la ricarica sa...
Disagi al traffico aereo europeo: le ind...
Intel in crisi chiama Apple: un riavvici...
Snapdragon X2 Elite Extreme, il cuore de...
Snapdragon 8 Elite Gen 5 è il nuovo rife...
Bombe Apple su Amazon: iPhone di scorsa ...
Micron: memoria HBM4 a 11 Gbps e patto d...
NVIDIA rende Audio2Face open source: ecc...
Logitech Signature Slim Solar K980+: 10 ...
Disney Plus aumenta i prezzi: si parte d...
Intel XeSS con Multi Frame Generation: u...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:35.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v