Página 2 de 3
Enviado: 24 Jan 2008 22:15
por sygecom
Unico deifeito no Mediator na minha opnião, não poder acessar tabelas MYSQL on-line ou seja se meu cliente tem um site com PHP+MYSQL hospedado no terra, não podemos fazer integração dessa base com nossos sistemas pq tem que ter o tal do Mediator server instalado onde se encontra o MYSQL.
Enviado: 27 Jan 2008 22:45
por Luciano Bonfim
Instalei o mediator para MYSQL e meu sistema ficou lento demais, para vcs terem uma idéia olhem o comparativo:
Relatório simples apenas dando um "do while" num DBF
DBF = 4 segundos
MySQL = 12 segundos
Relatório mais complexo usando uma funçäo com recursividade que tenho em todo meu sistemas
DBF = 3 segundos
MySQL = 23 segundos
Relatório complexo com vários "do while" ainhados em vários DBFs e usando a mesma funçäo com recursividade.
DBF = 7 segundos
MySQL = 2 minutos e 44 segundos
Como ficou tudo bem mais lento pensei que poderia ser alguma coisa com meu sistema entäo fiz um pequeno PRG separado varrendo um DBF com 230 mil registros
Código: Selecionar todos
horaInicial=time()
use planeja
set index to pla_ind1
go top
x=0
do while !eof()
x++
@ 1,1 say x picture "99999999"
skip
enddo
horafinal=time()
@ 2,5 say ElapTime( horainicial, horafinal )
close data
o resultado foi:
usando DBFCDX = 43 segundos
usando MySQL = 1 minuto e 23 segundos
Existe algum "pulo do gato" pra poder ficar mais rápido?
estou fazendo alguma besteira?
por que ficou täo lento assim?
Estou usando tudo localmente em um notebook isolado de qualquer rede:
Pentium Core Duo 2.0 2GHZ com 2 Gb de memória RAM
Windows Vista Ultimate
Mediator para MySQL
xharbour 1.0.0 estável + GTWVW + HWGUI
My SQL versäo 4020a
Muito Obrigado
Luciano Bonfim de Azevedo
Enviado: 28 Jan 2008 10:07
por alaminojunior
Em um sistema local, vc não iria perceber mesmo, um ganho de performance, porém, retroceder também não dá né ?
Experimente atualizar o MySql para a versão 5.
Em tempo: Notei que voce não citou o uso do driver ODBC para MySql. O Vista já traz ele ?
Enviado: 28 Jan 2008 16:00
por Luciano Bonfim
desculpa esqueci de dizer o driver odbc... estou usando o MyODBC-standard-3.51.8-win.exe
quanto migrar para o mysql5 acredito que não vai resolver muita coisa pq essa versão que estou usando é de janeiro de 2007 não é tão antiga assim não...mas de qualquer maneira vou baixar a 5.0
sabe me dizer se tem algum tipo de configuração espeial no mediator ou no mysql para aumentar a performance...?
Muito Obrigado
Enviado: 28 Jan 2008 18:44
por janio
Luciano,
Aparentemente tá tudo "normal".
Não esqueça: Numa única máquina, em termos de velocidade o DBF ganha com um pé nas costas de MySql. Ja em uma REDE LOCAL a coisa se inverte.
Uma dica: Não sei pq, mas quando buscamos dados em várias tabelas no MySql a coisa fica preta. O que eu fiz e ganhei um pouco de performace foi copiar o conteudo da tabela MYSQL para DBF e buscar esses dados do DBF.
Exemplo: Se no seu relatório de VENDAS vc precisa ir na tabela de clientes buscar o NOME do cliente, copie toda a sua tabela de clientes para um DBF TEMPORÁRIO e busque o nome nesse DBF. Assim:
Código: Selecionar todos
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
GERA_DBF()
tmp1 = dbftmp
SELECT CLIENTE
DBSETORDER(1)
DBGOTOP()
COPY FIELDS CODIGO, NOMCLI TO C:\&tmp1 VIA 'DBFCDX'
USE C:\&tmp1 NEW VIA 'DBFCDX'
INDEX ON CODIGO TAG CHAVE1 TO C:\&tmp1
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
SELECT PEDIDO
DBSETORDER(5)
DBGOTOP()
OrdScope( 0, DTOS(vDATAi) )
OrdScope( 1, DTOS(vDATAi) )
DBGOTOP()
DO WHILE !EOF()
xSOMA = 0
xCODIGO = CODCLI
SET RELATION TO CODCLI INTO &tmp1
@ PROW() + 01,05 SAY "Cliente " + StrZero(&tmp1->CODIGO,5) + " " + &tmp1->NOMCLI
@ PROW() + 01,00 SAY "Venda Emissao Vendedor Emitente Qtde Parc. 1o. Venc. Tot Pedido"
DO WHILE CODCLI = xCODIGO
@ PROW() + 01,00 SAY PEDIDO PICT "@E 999,999"
@ PROW() ,08 SAY DATEMI
@ PROW() ,19 SAY CODVED PICT "99"
@ PROW() ,34 SAY CODEMT PICT "9"
@ PROW() ,48 SAY STRZERO(QTDPAR,02)
@ PROW() ,56 SAY VENPRI
@ PROW() ,70 SAY TOTPED PICT "@E 99,999.99"
DBSKIP()
ENDDO
ENDDO
Não esqueça também que com MYSQL ganha-se confiabilidade além de outras vantagens já enumeradas neste tópico.
Jânio
Enviado: 28 Jan 2008 19:16
por Luciano Bonfim
esse problema deve ser culpa do meditor e nao do mysql, pois se eu entro no mysql front e dou um "select * from planaja" ele retorna todos os 230 mil regsitros em apenas 1 segundo.
acredito se eu passar a dar os comando direto usando T-SQL vai ficar bom, mas ai terei que mexer em todo o sistemas....
vou testar com outrso bancos sql-server e postgree pra ver a velocidade e digo pra vcs...
Enviado: 28 Jan 2008 20:14
por alaminojunior
Janio, já experimentou usar as funções do Mediator para ver se melhora ?
Tenho notado também o seguinte: quando me conecto com o servidor instalado no PC ( AthlonXP 2600, 512MB, Windows Server 2003 ), o desempenho é um tanto piolhento. Já quando conectado no servidor instalado no Note mesmo ( Sempron 3400, 1024MB, Windows Server 2003 ), o desempenho fica muito bom. A maquina cliente aqui é um Cyrix 200 com 32MB e W98.
Enviado: 28 Jan 2008 20:39
por Luciano Bonfim
pessoal,
testei agora os mesmos relatórios usando o MSSQL 2005 express e ficou bem melhor que o mysql mas continua inferior que o dbfcdx
relatorio de obras
dbf = 4 seg
mysql = 12 seg
sqlserver = 8 seg
planilha orcamentaria
dbf = 3 seg
mysql = 23 seg
sqlserver = 9 seg
medicao financeira apenas periodo 15
dbf = 7 seg
mysql = 2 min 44 seg
sqlserver = 25 seg
vou instalar e testar o postgree e o mysql 5.0
Enviado: 28 Jan 2008 20:51
por sygecom
Luciano, o Mediator funciona free com MS-SQL e PostgreSql ?
Enviado: 28 Jan 2008 22:06
por Luciano Bonfim
com ms-sql é free até 3 usuários e postgree até 5 usuários conectados ao mesmo tempo....
esse que é o problema...
vou testar agora com o mysql versäo 5 para ver a performance...
Enviado: 28 Jan 2008 22:06
por Luciano Bonfim
com mysql pode usar até 100 ao mesmo tempo gratuitamente com xharbour
Enviado: 29 Jan 2008 00:03
por sygecom
Luciano Bonfim escreveu:com mysql pode usar até 100 ao mesmo tempo gratuitamente com xharbour
Pois é, no Mysql eu já sabia, eu estavaaaa interesado no Postgresql mesmo. vlw
Enviado: 29 Jan 2008 11:10
por Dudu_XBase
Janio isso ja aconteceu comigo mas agora to tentando lembrar a solução que fiz...rs...mas por hora...
Eu troquei as funções de ordscope pelas do Mediator
MedSetScPe(TOPSCOPE,cCodigo)
MedSetScPe(BOTTOMSCOPE,cCodigo)
dbgotop()
Re: Bibliotecas Mediator para o build 1.0.0
Enviado: 16 Jul 2009 12:13
por alaminojunior
Há um bug nessa versão do Mediator. Quando há na Tabela APENAS UM REGISTRO, quando o visualizamos pelo tbrowse ou dbedit o mesmo registro fica aparecendo DUAS VEZES. A mesma coisa ocorre quando é filtrado pelo OrdScope ou outro e o resultado do filtro é APENAS UM REGISTRO, ele aparece DUAS VEZES no Tbrowse. Quando há mais de um registro na tabela isso não acontece.
Se alguém que sabe inglês um pouquinho puder reportar esse bug ao pessoal do mediator, seria bem legal. Alguém se habilita??
Jânio, eu não manjo de inglês, mas o Google manja, por isso eu enviei alguns e-mails para o suporte da OTC e eles resolveram. Me mandaram o link para a versão 4.3.0.0c que resolveu o problema.
Eis o link, mas não sei até quando vai permanecer.
http://dl.otc.pl/tmp/mmysqlnt.exe
Username: tmp, password: d23re8_72*r
Re: Bibliotecas Mediator para o build 1.0.0
Enviado: 18 Jul 2009 08:44
por janio
blz. tô baixando!