我的SQL查询只需要1分钟即可执行,但获取最多可达100万的总行需要大约11分钟。
以下是伪代码:
int waterCount;
private void updateWaterCount()
{
waterCount = PreferenceUtilities.getWaterCount(this);
resetButton = (Button) findViewById(R.id.reset_button);
resetButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
waterCount = 0;
}
});
mWaterCountDisplay.setText(waterCount+"");
}
我尝试将抓取大小从100更改为80000,但没有任何帮助,它仍然需要超过10分钟。 如果我删除while循环并简单地执行查询,那么整个过程只需几分钟就意味着查询正在快速执行。
有关如何缩短获取行的时间的任何建议吗?
答案 0 :(得分:0)
您在应用级别唯一能做的就是: 1.返回较少的数据(通过较少的行或较少的列) 2.增加数组获取大小(从而通过SQL * Net减少网络往返,这是一个“聊天协议”) 3.拥有更快的网络(从而减少在网络往返中花费的时间) 4.在与DB相同的局域网上共同定位应用服务器(本质上是一个更快的网络)。