Search  
Friday, February 10, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Client/Server  MySQL timp de i...
 MySQL timp de interogare mare.
 
 8/26/2010 5:45:32 PM
User is offlinestefan_JKSL
62 posts


MySQL timp de interogare mare.
 (N/A)
sunt incepator in mysql si recent am hotarat sa trec datele in mysql. dar inainte m-am apucat sa fac niste teste.
Am creeat pe server (Microsoft Windows Server 2003 for Small Business) tabela clienti, am importat din aplicatia mea datele insa la un simplu select de pe statie dureaza extrem de mult pana imi returneaza tabela.
Lucreaza mult mai repede Fox. (Visual FoxPro 9.0)

Am creat in ODBC Data Source Administrator>>System DNS o conexiune sql2
iar codul arata asa :
CLEAR
nConnectionHandle = SQLCONNECT("sql2")
?nConnectionHandle
?sQLSETPROP(nConnectionHandle , "PacketSize", 2048 )

?SQLSETPROP(nConnectionHandle , "Asynchronous", .F.)

CURSORSETPROP("SendUpdates",.F.,"clienti")
SQLEXEC(nConnectionHandle ,"select id_client, den_client from clienti", "clienti")

MESSAGEBOX("Gata")
SELECT clienti
BROWSE

un amic a facut acelasi programel in java si merge foarte repede... aproape instantaneu.
sa fie de vina MySQL Connector? sau mi-a scapat mie ceva?
Multumesc anticipat celor care ma pot ajuta cu o lamurire.
 8/27/2010 3:41:24 PM
User is offlineGrigore Dolghin
3521 posts
www.class-software.eu
1st






Re: MySQL timp de interogare mare.
 (N/A)
Foloseste SQLStringConnect() - stringul de conectare il gasesti la www.connectionstrings.com.

Analizeaza cat dureaza fiecare instructiune. Ce inseamna "extrem de mult"? cate inregistrari iti vin din backend? unde sta? la conectare? la sqlexec? si renunta la asynchronous pana diagnostichezi problema.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/27/2010 5:05:49 PM
User is offlinestefan_JKSL
62 posts


Re: MySQL timp de interogare mare.
 (N/A)
Initial am folosit SQLStringConnect() insa nu este nicio diferenta si de aceea nu am mai postat aceasta incercare.
In ceea ce priveste timpul scurs pana la afisarea interogatii... 99.754 secunde pentru 2115 inregistrari.
Daca reduc interogare doar la o coloana (den_client de ex.) atunci timpul este de 6.523 secunde.
stringul de conectare este lcConnectionString = ;
  "Driver={MySQL ODBC 5.1 Driver};" + ;
  "Server=" + lcServer + ";" + ;
  "UID=" + lcUserName + ";" + ;
  "PASSWORD=" + lcPassword + ";" + ;
  "Database="+lcDataBase+";" + ;
  "Port=3306;"+;
  "Option=201342981;"
serverul este in retea.
 8/27/2010 5:59:03 PM
User is offlineGrigore Dolghin
3521 posts
www.class-software.eu
1st






Re: MySQL timp de interogare mare.
 (N/A)
Ai renuntat la asynchronous?

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/27/2010 6:00:49 PM
User is offlineGrigore Dolghin
3521 posts
www.class-software.eu
1st






Re: MySQL timp de interogare mare.
 (N/A)
Executa numai codul asta si vezi daca functioneaza bine:

CLEAR
lnStart = Seconds()
nConnectionHandle = SQLCONNECT("sql2")
?nConnectionHandle
SQLEXEC(nConnectionHandle ,"select id_client, den_client from clienti", "clienti")
lnEnd = Seconds()
MESSAGEBOX("Gata: " + Transform(lnEnd - lnStart) + " secunde")
SELECT clienti
BROWSE


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/27/2010 6:30:16 PM
User is offlinestefan_JKSL
62 posts


Re: MySQL timp de interogare mare.
 (N/A)
am renuntat :

CLEAR

lcDataBase = "admet_slobozia_2010"
lcServer   = "192.168.3.1"
lcUserName = "OperatorConta"
lcPassword = "Admet1qaz2wsx"

lcConnectionString = ;
  "Driver={MySQL ODBC 5.1 Driver};" + ;
  "Server=" + lcServer + ";" + ;
  "UID=" + lcUserName + ";" + ;
  "PASSWORD=" + lcPassword + ";" + ;
  "Database="+lcDataBase+";" + ;
  "Port=3306;"+;
  "Option=201342981;"
 
nConnectionHandle = SQLStringConnect(lcConnectionString, .T.)

?nConnectionHandle

IF nConnectionHandle > 0
   _timp1 = SECONDS()
   SQLEXEC(nConnectionHandle ,"select den_client from clienti", "clienti")
   _timp2 = SECONDS()
   ?_timp2 - _timp1
   MESSAGEBOX("Gata")
   SELECT clienti
   BROWSE
ELSE
   AError(gaError)
   MessageBox("Conectare la MySQL Server.. esuata! Mesajul de eroare este: " + CHR(13) + ;
    gaError[1,2], 16, "MySQL Server")
ENDIF
 8/28/2010 11:37:45 AM
User is offlineGrigore Dolghin
3521 posts
www.class-software.eu
1st






Re: MySQL timp de interogare mare.
 (N/A)
Codul de mai sus este corect. Daca si asa dureaza mult, nu stiu ce sa zic. E din alta parte, nu de la VFP. Eu folosesc cod similar si functioneaza foarte bine cu VFP9 SP2. Incearca de pe alt calculator.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/28/2010 7:46:49 PM
User is offlinestefan_JKSL
62 posts


Re: MySQL timp de interogare mare.
 (N/A) Modified By stefan_JKSL  on 8/28/2010 9:13:25 PM)
asa m-am gandit si eu insa am descarcat aplicatia unul membru profox (nu-i dau numele ca sa nu se creada ca-i fac publicitate negativa) si am constatat ca serverul firebird instalat local dureaza foarte mult pana afiseaza lista partenerilor, lista care nu are nicun partener. urmatorul pas este evident reinstalarea sistemului de operare si alte probe.voi reveni cu detalii dupa ce fac si acest pas.
 8/29/2010 11:31:01 AM
User is offlineGrigore Dolghin
3521 posts
www.class-software.eu
1st






Re: MySQL timp de interogare mare.
 (N/A)
Membrul profox despre care vorbesti este EXTREM de competent. N-am verificat aplicatia aia, dar sunt 100% convins ca problema nu e de la aplicatie, ci din sistemul tau de operare/retea/whatever, mai ales ca ai acelasi gen de probleme si cu MySQL, iar codul folosit este corect.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/29/2010 1:23:38 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: MySQL timp de interogare mare.
 (N/A)
 stefan_JKSL wrote
sunt incepator in mysql si recent am hotarat sa trec datele in mysql. dar inainte m-am apucat sa fac niste teste.
...

Daca nu faci o aplicatie web, ci una de intranet, ar fi bine sa tezi si SQL Server 2008 R2 Express si Oracle 10g Express.
Sunt versiuni mai restranse ale serverelor comerciale, sunt free, sunt mult mai bine documentate decat mysql si firebird.
La SQL Server 2008 R2 Express dimensiunea maxima a unei baze de date a fost marita de la 4GB al 10GB, si poti avea oricate baze de date pe acelasi server.

Daniel Buduru
 8/31/2010 10:05:00 AM
User is offlinestefan_JKSL
62 posts


Re: MySQL timp de interogare mare.
 (N/A)
 Grigore Dolghin wrote
Membrul profox despre care vorbesti este EXTREM de competent. N-am verificat aplicatia aia, dar sunt 100% convins ca problema nu e de la aplicatie, ci din sistemul tau de operare/retea/whatever, mai ales ca ai acelasi gen de probleme si cu MySQL, iar codul folosit este corect.


asa am presupus si eu, evident. am reinstalat sistemul de operare iar acum interogarea respectiva se executa in 0.2 sec. problema era la sistemul de operare.
 8/31/2010 10:09:22 AM
User is offlinestefan_JKSL
62 posts


Re: MySQL timp de interogare mare.
 (N/A)
 Daniel Buduru wrote
 stefan_JKSL wrote
sunt incepator in mysql si recent am hotarat sa trec datele in mysql. dar inainte m-am apucat sa fac niste teste.
...

Daca nu faci o aplicatie web, ci una de intranet, ar fi bine sa tezi si SQL Server 2008 R2 Express si Oracle 10g Express.
Sunt versiuni mai restranse ale serverelor comerciale, sunt free, sunt mult mai bine documentate decat mysql si firebird.
La SQL Server 2008 R2 Express dimensiunea maxima a unei baze de date a fost marita de la 4GB al 10GB, si poti avea oricate baze de date pe acelasi server.


a testat (obiectiv) cineva aceste produse MySQL, SQL Server 2008 R2 Express si Oracle 10g Express? exista vreo diferenta semnificativa intre ele vis-a-vis de viteza de procesare a interogarilor, cum se coporta la un volum mare de date... etc, etc. Evident toate testate pe aceeasi configuratie (acelasi PC).
 8/31/2010 10:36:07 AM
User is offlineGrigore Dolghin
3521 posts
www.class-software.eu
1st






Re: MySQL timp de interogare mare.
 (N/A)
Depinde de ce intelegi prin "mare".

Eu acum lucrez cu o baza de date Oracle care are 10 miliarde de inregistrari intr-o tabela. Da, asta ESTE mare si banuiesc ca la volumul acesta de date exista diferente de performanta intre ele. Dar pentru vasta majoritate a aplicatiilor de pe piata (unde discutam de cel mult cateva milioane de inregistrari pe tabela), performantele celor trei servere enumerate sunt similare (am lucrat cu toate).

Afirmatia de mai sus este valabila pentru MySQL, SQL Server R2 si Oracle 10g. Tu ai enumerat acolo versiunile Express si nu e fair-play pentru ca asa compari mere cu pere. Versiunile express sunt limitate ca spatiu si ca numar de procesoare folosite. Daca vrei neaparat asa, atunci MySQL sta clar deasupra, in primul rand fiindca nu e limitat.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/31/2010 1:29:56 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: MySQL timp de interogare mare.
 (N/A) Modified By Daniel Buduru  on 8/31/2010 12:32:04 PM)
 stefan_JKSL wrote

a testat (obiectiv) cineva aceste produse MySQL, SQL Server 2008 R2 Express si Oracle 10g Express? exista vreo diferenta semnificativa intre ele vis-a-vis de viteza de procesare a interogarilor, cum se coporta la un volum mare de date... etc, etc. Evident toate testate pe aceeasi configuratie (acelasi PC).


Atat timp cat serverul sql ruleaza pe un pc, fie el botezat "server", chiar si cu un procesor multicore, viteza este comparabila.
Diferentele vin de la implementarea limbajului sql si de ce poate face acest limbaj, iar diferentele nu sunt chiar neglijabile.
Apoi sunt si conditiile licentei, ce anume si cat este free, si asta iar difera.
Depinde de genul de aplicatie pentru care este ales serverul, iar alegerea este a celui care proiecteaza aplicatia.
Poti sa-ti faci o idee asupra diferentelore de limbaj si caracteristici intre mysql si mssql :
http://www.mssqltips.com/tip.asp?tip=1920
Cauta si alte comparatii. Fii atent mereu la versiunile care se compara (de exemplu, mySql permite crearea triggerelor abia de la versiunea 5.0.2)
Daca te-ai hotarat inlocuiesti baza de date vfp cu un server sql, ar trebui sa incerci tu insuti toate cele trei produse, inainte de a te decide.

Daniel Buduru
  Visual FoxPro  Client/Server  MySQL timp de i...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement