----- Original Message -----
Sent: Friday, October 18, 2002 10:56
AM
Subject: RES: [enterprise-list]
Quantidades de Registros em um ResultSet
Sempre tome muito cuidado com SELECT COUNT(*),
pois ele vai sempre instanciar na mem�ria TODOS os campos da tabela e depois
fazer a contagem... Isso n�o faz muita diferen�a em tabelas pequenas ou em
tabelas de registros pequenos, mas em casos onde isso n�o ocorre... A
diferen�a chega a ser gritante. Procure fazer COUNT(Primary Key) ou em algum
outro campo indexado.
Atenciosamente,
Elder C. de Moraes
Analista de
Sistemas
MarketSystem
[EMAIL PROTECTED]
Visite:
www.marketsystem.com.br e www.csu.com.br
"As informa��es e dados
constantes do presente s�o confidenciais, sendo vedado a sua divulga��o sem
pr�via e expressa anu�ncia da MarketSystem, estando sujeito o infrator as
penalidades previstas em lei e nos instrumentos celebrados."
Fabio,
getFetchSize() retorna o numero de linhas configurado para "row
prefetching", o que significa que a cada "roundtrip" ao BD o driver JDBC vai
trazer "n" registros de uma vez - este valor "n" pode ser setado com
setFetchSize(n) . Esse "n" no caso dos drivers da Oracle tem seu valor
"�timo" ou "m�gico" entre 20 e 30.
Quanto ao "count", na minha opni�o seria melhor executar um "SELECT
COUNT(*) FROM..." para retornar este total. Na maioria das vezes � muito
menos custoso que fazer, grosso modo, rs.first() rs.last() no seu
ResultSet.
[]s
Maiko
Fabio Luis <[EMAIL PROTECTED]> wrote:
Ola
para todos.
Gostaria de saber se tem algum jeito de eu recuperar a
quantidade de um
registro de um resultset, me falaram certa vez do
metodo getFetchSize(), mas
esse metodo sempre retorna
zero.
estou utilizando o banco mySql,
tentei fazer com esse
codigo:
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection
con =
DriverManager.getConnection("jdbc:mysql://192.0.0.12/curriculo",
"java",
"ejb");
Statement sta =
con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.TYPE_FORWARD_ONLY);
ResultSet
rs = sta.executeQuery("SELECT * FROM
tab_curriculo");
System.out.println(rs.getFetchSize());
Obrigado
a
todos.
---------------------------------------------------------------------
Para
cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais,
envie mensagem para: [EMAIL PROTECTED]
Yahoo! GeoCities
Tudo
para criar o seu site: ferramentas f�ceis de usar, espa�o de sobra e
acess�rios.