大表sdy_db_testb的C_testa字段建索引;
把select a.*,b.c_xname from sdy_db_testb a left join sdy_db_testc b on 1=1 and b.c_testa=a.c_testa改成
select a.*,b.c_xname from sdy_db_testc a left join sdy_db_testb b on 1=1 and b.c_testa=a.c_testa
即左边的为小表,这样就快 了;
不知道你的需求是否要把大表的数据都取出来
如果是都需要取出来的话,慢是必然的!因为要读的块数无法减少,IO开销你怎么优化都是无用的
原因比较多:1、网站服务器与sql服务器之间的一个网络延时;
2、sql数据库服务器压力大,反应速慢;
3、数据库设置不合理或者是程序调用存在不合理的地方,导致数据库产生死锁;
可以通过优化数据库结构,如增加索引等,优化程序使用数据库,使用缓存减少数据库访问等来解决网站访问慢的问题。数据库优化是很专业的工作,网站做大了都会遇到这样的问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)