Main   Products   Offshore Outsourcing   Customers   Partners   ContactUs  
JDBC Databases
  HXTT Access v7.1
  HXTT Cobol v5.0
  HXTT DBF v7.1
 
  Buy Now
  Support
  Download
  Document
  FAQ
  HXTT Excel v6.1
  HXTT Json v1.0
  HXTT Paradox v7.1
  HXTT PDF v2.0
  HXTT Text(CSV) v7.1
  HXTT Word v1.1
  HXTT XML v4.0
Offshore Outsourcing
Free Resources
  Firewall Tunneling
  Search Indexing Robot
  Conditional Compilation
  Password Recovery for MS Access
  Password Recovery for Corel Paradox
  Checksum Tool for MD5
  Character Set Converter
  Pyramid - Poker of ZYH
   
   
   
Heng Xing Tian Tai Lab of Xi'an City (abbr, HXTT)

HXTT DBF
Lentid��o na primeira consulta
Joedson
2020-11-19 06:55:31
Oi estou problema na primeira consulta que fa��o no banco de dados DBF.
a primeira consulta leva uns 28 segundo e seguinte no tempo aceit��vel.

estou utilizando conex��o JDBC (com.hxtt.sql.dbf.DBFDriver).

na conex��o local host, esta na velocidade aceit��vel, mas quando fa��o a consulta em um parti����o Mapeada na rede, a primeira consulta leva 28 segundo para trazer os resultados.

algu��m pode me ajudar?
agrade��o dez de j��!
Re:Lentid��o na primeira consulta
HXTT Support
2020-11-19 07:22:08
If you using map driver, it need to handshake to build connection.
But 28s is too slower.

What's your jdbc url and sql?
Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-19 07:43:13
public Statement stmt_est;
public ResultSet rs_est;
public Connection conn_est;
public String url_est;
public String conexao = "com.hxtt.sql.dbf.DBFDriver";
Class.forName(conexao).newInstance();
url_est = "jdbc:DBF:/F:/RAZAO/EST";
conn_est = DriverManager.getConnection(url_est);
stmt_est = conn_configEmail.createStatement();

tem algum exemplo?


Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-19 07:44:57
exemplo de handshake...?
Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-19 07:45:48
tem algum exemplo de
handshake
Re:Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-19 07:49:15
desculpa da enviando v��rios assim... :(

os DBFs est��o em uma parti����o do servidor (\\servidor), parti����o que foi compartilhada do servidor esta com a letra F: onde clico com o bot��o direito do mouse e clico em mapear unidade de rede.
Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
HXTT Support
2020-11-19 08:47:57
What's the sql? for instance, "select * from atable where..."

You can use your Windows Resoruce manger to open F:/RAZAO/ ,
then run your java program.
If it's faster than 28s, it means that your map driver spent too much time to handshake.
Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-19 09:11:31
sql utilizado

SELECT CODIGO,ABREVIACAO,UNID_SAI,PRECO1,ESTOQUE,EAN1,CODNCM,CST,ALIQICMS FROM ITEM0116 WHERE codigo = '"+Codigo+"'";
Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
HXTT Support
2020-11-20 00:04:38
You should do a speed test:

for(int i=0;i<2;i++){
Codigo=i==0?"avalue":"bvalue";
long t0 = System.currentTimeMillis();
ResultSet rs =stmt_est .executeQuery("SELECT CODIGO,ABREVIACAO,UNID_SAI,PRECO1,ESTOQUE,EAN1,CODNCM,CST,ALIQICMS FROM ITEM0116 WHERE codigo = '"+Codigo+"'" );

long t1 = System.currentTimeMillis();
System.out.format("Taken %1$f seconds to return first row\n", 0.001* (t1 - t0));

int n=0;
while (rs.next()) {
System.out.println(rs.getString("ARTICULO"));
n++;
}
rs.close();
t1 = System.currentTimeMillis();
System.out.format("Taken %1$f seconds for %2$d records\n", 0.001* (t1 - t0), n);

}

Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-20 04:43:51
temo no localhost
-------------------------------------------
Taken 0,019000 seconds to return first row
Taken 2,724000 seconds for 0 records
Taken 0,003000 seconds to return first row
Taken 0,123000 seconds for 0 records
--------------------------------------------

na rede
--------------------------------------------
Taken 0,039000 seconds to return first row
Taken 21,981000 seconds for 1 records
Taken 0,031000 seconds to return first row
Taken 0,224000 seconds for 1 records
--------------------------------------------

esta lentid��o �� apenas na primeira consulta !
Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-20 10:00:36
boa tarde
tem algum sugest��o para coloca a conex��o em rede?

Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
HXTT Support
2020-11-21 04:11:05
Whether you're using bvalue=avalue ? Please use a different value to avoid possible cache.


Maybe your table hasn't an index expression codigo on that table?

You can try run once " create index CODIGO on ITEM0116 (CODIGO);"
then to test whether the speed is faster.


Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-21 08:20:12
boa tarde

este ��ndice, s��o os arquivo.NTX do DBF ?
Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
HXTT Support
2020-11-21 16:29:37
If there's an arquivo.dbf file, then arquivo.ntx should belong to it.

Otherwis you will find an ITEM0116.cgp file, and you will find all index file belongs to ITEM0116.dbf .
That ITEM0116.cgp file can be open with any text editor.
Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-21 16:48:25
desculpas, n��o entendi, como posso fazer isso?

You can try run once " create index CODIGO on ITEM0116 (CODIGO);"
then to test whether the speed is faster.
Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-21 16:58:51
tem algum exemplo?

You can try run once " create index CODIGO on ITEM0116 (CODIGO);"
then to test whether the speed is faster.
Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
HXTT Support
2020-11-22 02:10:54
First, run once "create index CODIGO on ITEM0116 (CODIGO);" through statement.executeUpdate(sql) or any JDBC compatible database tool, for instance, SQuirrel Client.

then repeate your speed test.

Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
Joedson
2020-11-22 15:09:07
boa noite
( create index CODIGO on ITEM0116 (CODIGO); ) este comando resolveu meu problema !
muito obrigado.

o arquivo CGP s�� vai criar ou atualizar o arquivo.NTX se eu executa este comando --> ( addIndexInfoToCGP ) ?
Re:Re:Re:Re:Re:Re:Re:Re:Lentid��o na primeira consulta
HXTT Support
2020-11-22 21:02:39
Yeah. OpenAPI.addIndexInfoToCGP can use to add existent index file for ITEM0116.dbf .

"create index", "drop index" can maintain automatically ITEM0116 .CGP file.

Your speed issue has disappear, because HXTT DBF can utilize index to avoid seek all record rows.

I should point out that mapped driver is slower than local driver. After the first query to fetch the content of total physical file, it can be faster because mapped drive used some cache to avoid repeated read.

Search Key   Search by Last 50 Questions




Google
 

Email: webmaster@hxtt.com
Copyright © 2003-2019 Heng Xing Tian Tai Lab of Xi'an City. | All Rights Reserved. | Privacy | Legal | Refund | Sitemap