gpt4 book ai didi

MySQL - 我的 View 很慢

转载 作者:行者123 更新时间:2023-11-29 05:08:28 25 4
gpt4 key购买 nike

我有 4 个表:

  • 学生 超过 7000 条记录
  • 教师 拥有超过 600 条记录
  • 大学 超过30条记录
  • Lessons_Meta 超过 10000 条记录

学生列:

id | student_number | name


教师列:

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 秒后,显示查询完成!我怎样才能减少这个时间负荷?

最佳答案

您可能只需要索引。从以下索引开始:

CREATE INDEX idx_students_id_name ON students(id, name);
CREATE INDEX idx_teachers_id_name ON teachers(id, name);
CREATE INDEX idx_universities_id_name ON universities(id, name);

关于MySQL - 我的 View 很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43831072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com