gpt4 book ai didi

mysql - 哪个更好 : calling procedure inside a procedure or executing sql inside a procedure?

转载 作者:可可西里 更新时间:2023-11-01 06:38:32 25 4
gpt4 key购买 nike

我有 3 个表:
1. 学生:{id, name, roll}
2. 主题:{id, name}
3. 分数:{student_id, subject_id, marks}

我有一个返回所有学生及其分数的程序(例如 getAllMarks() ),我想创建另一个程序返回给定卷号的标记(例如 getRollMarks(int rollno))。所以我可以通过两种方式创建程序:
1. 编写适当的 SQL 以在 getRollMarks 过程中获取结果。
2. 在getRollMarks 中调用getAllMarks,然后对getAllMarks 返回的结果应用where 子句。

任何人都可以提出上述两种方法的优缺点吗?我有方法 2 的两个优点:
1.SQL查询不会跨过程重复。
2.如果一张表中有任何更改,更改将在一个地方/过程中完成,而不是在使用该表的每个过程中完成。

PS:这些表只是举例,实际上它们是更大的表,有很多参数要查询。这个问题可以简化为我们应该在不同的过程中编写重复的查询,还是应该使用带有必需子句(where、order by、joins 等)的现有过程?

最佳答案

如果您不想重复查询,您应该使用 View 。在性能方面它也更快。

关于mysql - 哪个更好 : calling procedure inside a procedure or executing sql inside a procedure?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26712795/

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