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.
|