MySQL连接性能

MySQL连接性能,mysql,performance,join,Mysql,Performance,Join,下面的查询将在17秒内在视图中执行。有45万行。我在连接的两列上有一个索引,它们是FK。连接列是大整数。有没有办法加快这家伙的速度 SELECT c.id, sce.user_id FROM sims_classroom c JOIN sims_class_enrollment sce ON c.id = sce.classroom_id 解释 '1', 'SIMPLE', 'c', 'index', 'PRIMARY', 'PRIMARY', '8', NULL, '211213', 'U

下面的查询将在17秒内在视图中执行。有45万行。我在连接的两列上有一个索引,它们是FK。连接列是大整数。有没有办法加快这家伙的速度

SELECT c.id, sce.user_id
FROM sims_classroom c
JOIN sims_class_enrollment sce ON c.id = sce.classroom_id 
解释

'1', 'SIMPLE', 'c', 'index', 'PRIMARY', 'PRIMARY', '8', NULL, '211213', 'Using index'
'1', 'SIMPLE', 'sce', 'ref', 'fk_class_enrollment_classroom_id', 'fk_class_enrollment_classroom_id', '9', 'ngsp.c.id', '1', 'Using where'

sims_classroom = 200100
sims_class_enrollment = 476396

它会降低写入速度,但由于索引中只缺少一列,因此我会为sce创建两列索引:

classroom_id, user_id

这将导致mysql甚至不需要进入实际的表(在解释中都是“使用索引”)

在您的查询中使用,并给我们输出。在
sims\u教室
sims\u班级注册
中有多少行您也可以尝试分析您的查询吗<代码>设置评测=1;选择。。。;显示查询1的配置文件;设置PROFILING=0