【发布时间】:2021-01-04 18:24:48
【问题描述】:
我在执行 MySQL 查询时遇到问题,有时需要几秒钟,有时需要 30 秒钟。我试图确定是查询问题还是共享服务器上的问题。
一些背景:表大约有 200 万行,每个包含用户数据的字段都被加密(客户要求)。由于字段是加密的,我不能做任何索引。这是一个通常需要 3-6 秒,有时需要 30 秒的查询。
$sth5 = $dbh->prepare("SELECT activityType, startDate, startTime, duration, quality, type, endTime, activityNum, activityClass FROM ActivityX WHERE user=? AND activityType=? ORDER BY activityNum DESC");
在某些情况下,我尝试限制要在数据库中搜索的行,只有当我可以将行限制为 20,000-40,000 左右时才会有所帮助。 (我经常需要搜索完整的数据库才能找到答案。)
$sth5 = $dbh->prepare("SELECT activityType, startDate, startTime, duration, quality, type, endTime, activityNum, activityClass FROM (SELECT * FROM ActivityX ORDER BY activityNum DESC LIMIT $rowBack) s WHERE user=? AND activityType=?");
我能做些什么来加快查询速度并使其更加可靠快速?
我将在不久的将来转向 VPS,这可能会解决问题,但我不想依赖它。
谢谢,
- 乔恩
【问题讨论】: