【发布时间】:2017-05-07 11:43:31
【问题描述】:
我有 4 张桌子:
-
学生
with over 7000 records -
教师
with over 600 records -
大学
with over 30 records -
Lessons_Meta
with over 10000 records
表学生列:
id | student_number | name
表 Teachers 列:
id | teacher_number | name
表大学列:
id | name
表 Lessons_Meta 列:
id | lesson_code | lesson_name | student_id | teacher_id | university_id
我的看法是:
CREATE VIEW `view_lessons` AS
SELECT
*,
(SELECT `name` FROM `students` WHERE `students`.`id` = `lessons_meta`.`student_id` LIMIT 1) AS "student_name",
(SELECT `name` FROM `teachers` WHERE `teachers`.`id` = `lessons_meta`.`teacher_id` LIMIT 1) AS "teacher_name",
(SELECT `name` FROM `universities` WHERE `universities`.`id` = `lessons_meta`.`university_id` LIMIT 1) AS "university_name"
FROM `lessons_meta`
我的查询是:
SELECT * FROM `view_lessons` LIMIT 20
20 秒后,显示此查询已完成!我怎样才能减少这个时间负载?
【问题讨论】: