SELECT FIREBIRD LENTO

PITERGALDIANO 22/11/2016 23:32:41
#469136
Boa noite!

Tenho um select dentro do meu sistema vb.net que é o seguinte:
Select p.codigo, p.descricao from produto as p
Ele trás aproximadamente 13000 registros existente na tabela produtos.
Dentro do IBExpert a respostas desse select é instantanea
Dentro do meu sistema ela demora aproximadamente 40 segundos, preciso saber o que está errado na conexão que está gerando essa demora na respostas:

meu código é o seguinte:
Uso ADO .NET Provider baixado do site: http://firebirdsql.org/en/additional-downloads/

              
dim Conn as new FbConnection
Conn.ConnectionString = [Ô]User=[Ô] & My.Settings.Usuario & [Ô];Password=[Ô] & My.Settings.Senha & [Ô];Database=[Ô] & My.Settings.Banco & [Ô];DataSource=[Ô] & My.Settings.Servidor & [Ô];Port=3050;Dialect=3;Charset=NONE;Role=;[Ô] & _
[Ô]Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;[Ô]
Conn.Open()
Dim cmdComando As New FbCommand
With cmdComando
.CommandType = CommandType.Text
.CommandText = [Ô]Select p.codigo,p.descricao from produto as p[Ô]
.Connection = Conn
End With
Dim da As New FbDataAdapter
Dim ds As New DataSet
With da
.SelectCommand = cmdComando
.Fill(ds, [Ô]produto[Ô]) [ô] Aqui é a demora
End With


Obrigado.
OMAR2011 23/11/2016 09:15:35
#469146
Use FbDataReader, melhor desempenho.
PITERGALDIANO 23/11/2016 09:30:13
#469148
Bom dia OMAR2011

Você fala para eu utilizar no modo abaixo?

  
Dim reader As FbDataReader
Dim conFB As String
conFB = [Ô]User=SYSDBA;Password=1652498327;Database=c:\ganso\dados\ganso.ib;DataSource=10.0.2.101;Port=3050;Dialect=3;[Ô]
Dim connection As FbConnection = New FbConnection(conFB)
connection.Open()
Dim command As FbCommand = New FbCommand([Ô]select * from produto_log_estoque where codigo_produto=[Ô] & TextBox1.Text & [Ô] and codigo_estoque=2 order by codigo[Ô], connection)
Dim reader As FbDataReader = command.ExecuteReader()
reader = command.ExecuteReader
While reader.Read
[ô] Aqui eu percorro o reader para preencher um datagridview, e nesse ponto também fica lento
[ô] A vantagem de usar dataset é que apenas seto a propriedade datasource do datagridview para o dataset e preenche rápido.
End While
reader.Close()
connection.Close()
OMAR2011 23/11/2016 09:57:42
#469149
http://www.macoratti.net/adon_dsr.htm
Olhe.
Vou emagrecer.
NILTON.VIANNA 23/11/2016 12:10:48
#469152

Dim cm As New FbCommand([Ô]select * from produto_log_estoque where codigo_produto=[Ô] & TextBox1.Text & [Ô]
Dim dtAdapter As New FbDataAdapter
Dim ds As New DataSet
dtAdapter.SelectCommand = cm
dtAdapter.Fill(ds)

[ô]Fechar Conexão
dtAdapter.Dispose()
cm.Connection.Close()
KERPLUNK 23/11/2016 16:41:20
#469162
Resposta escolhida
Ae OMAR! Também estou na briga pra emagrecer e entrar em forma! Estou conseguindo progressos excelentes!
OMAR2011 23/11/2016 19:06:50
#469173
Meu maior problema é o olho.
Maior que a barriga.
Pesei 96,800 com 1.80 de altura.
Excesso sobrando com borra.
KERPLUNK 23/11/2016 19:33:56
#469174
Citação:

:
Meu maior problema é o olho.
Maior que a barriga.
Pesei 96,800 com 1.80 de altura.
Excesso sobrando com borra.


Desenvolvi uma estratégia bacana: não como nada que eu mesmo não tenha preparado. Fazer comida dá trabalho, então eu faço menos e consequentemente como menos.
Tópico encerrado , respostas não são mais permitidas