mysql查询运行缓慢

时间:2015-09-30 09:14:14

标签: mysql sql

我有这个查询

DriveApi.MetadataBufferResult result = mDriveFolder.listChildren(mGoogleApiClient).await();

if (result == null || !result.getStatus().isSuccess()) {
    return null;
}

MetadataBuffer buffer = result.getMetadataBuffer();

for(Metadata m: buffer){
    Log.d(TAG, m.getTitle()+" - "+m.getOriginalFilename());
}

它运行得如此缓慢,大约需要30-60秒来获取数据,当数据增加时它会变得更慢,是否有任何想法使这个查询变得简单

1 个答案:

答案 0 :(得分:0)

我首先要整理你的查询。您使用了混合连接语法,缺少别名并将临时表重命名为与真实表相同的名称,因此很难跟踪发生的情况。

您实际使用的是表格records吗?它似乎是在没有任何标准的情况下交叉加入的。

您也可以重构SELECT FROM (SELECT ... )

一旦这一切都干净整洁,您应该运行EXPLAIN ...并查看正在使用的索引以及查询可能会落在哪里。