存储过程,取出一个表的数据。另外一个查询语句频繁去匹配前一个表的id找其他值
比如 学生表
Student(
int id,
varchar(20) name,
int gradeId,
varchar(20) gradeName
)
班级表
Grade(
int id,
varchar(20) name
)
班级有十几20条数据。
现有几万条学生数据需要插入到学生表。
写一个存储过程
班级名字每次都去查那张表在写进去么。
有什么节省点的方法么。 T_Sql 存储过程 优化
[解决办法]
1.我觉得学生表里面可以不存gradeName(班级名称)
2.如果一定要存的话,可以用join的方式插入学生数据
insert into Student
select a.id,a.name,b.id as gradeId
,b.name as gradeName
from 来源表 a
join 班级表 b
on a.gradeId=b.id
插敘出來直接insert 不就得了?
insert into student(a,b,c,d,e,f) values(select * from b)
这样?