CREATE TEMPORARY TABLE tmp_table2
select isname,sex,isage,'3',telphone,g.illid,a1.mediaid,a2.doctorid,ordertime,remark,
edittime,state,a3.ysid,usertype,a4.kefuid,addtime,visittime,1,0,askedinfo,a4.kefuid as userid from yuyue2014.sickinfo as b
inner join yyghsys.gh_ill as g on g.illname=b.istype
inner join yyghsys.gh_media as a1 on a1.medianame=b.infofrom
inner join yyghsys.gh_doctor as a2 on a2.doctorname=b.zhuanjia
inner join yyghsys.mz_ys as a3 on a3.ysname=b.admit
inner join yyghsys.gh_kefu as a4 on a4.kefuname=b.kefu
where a1.hosid=1 and a2.hosid=1 and a3.hosid=1 and a4.hosid=1 limit 10000,5000;
这是我的SQL,我用临时表,当数据从10000开始的时候,查询就卡死.不知道为什么.
inner join后面条件的字段有没有设置索引?
数据表是否能够做成索引视图,然后从索引视图使用SQL查询获取数据
说实话,1W条,其实不多.
肯定可以解决的
后来我没有用inner join ,这个桥连太多了.导致卡死. 我这样解决我的问题的.
我想把原来的旧表数据导入到新表,但是两张表的结构和字段都不一样,然后我想到了用临时表,先改新表的结构,都改成字符串类型,这样任何类型的数据都可以导入进去了,等以后数据格式一致了,再改回来.接着,我就一个个字段级联更新,最终完成数据的导入.由于旧表的数据是直接写进去的,而新表都是用的外键表关联.所以通过级联更新,才得以解决.
临时表是存放在内存里面的 很耗性能的 再加上你的sql那么多inner join 不卡才怪呢 看看能不能优化sql吧
如果单个inner 会不会有问题
你那个要么是服务器的问题,要么就是数据引擎的问题,才一万,很少呀
有索引吗?