存储过程,取出一个表的数据。另外一个查询语句频繁去匹配前一个表的id找其他值
比如 学生表
Student(
int id,
varchar(20) name,
int gradeId,
varchar(20) gradeName
)
班级表
Grade(
int id,
varchar(20) name
)
班级有十几20条数据。
现有几万条学生数据需要插入到学生表。
写一个存储过程
班级名字每次都去查那张表在写进去么。
有什么节省点的方法么。
------解决方案--------------------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
------解决方案--------------------1 不存gradename
2 幾萬個是怎麼一種格式呢?
------解决方案--------------------
你那几万个学生存在什么地方呢?
不用一个一个出来吧。
像我上面那个sql,批量出来所有的会快一点
------解决方案--------------------
插敘出來直接insert 不就得了?
insert into student(a,b,c,d,e,f) values(select * from b)
这样?
看你一次查詢出來多少了,批量一般1000提交一次比較快