mysql高效的视图查询及mysql高效的多表链接查询

mysql高效的视图查询及mysql高效的多表链接查询

在开发项目的时候用到mysql的视图 建立的视图时要连接多表连接查询并显示出数据 建立的过程是这样的

表A

 CREATE TABLE A(

 

 id int auto_increment UNIQUE  not null, -- id流水号

 AA varchar(100),   

 BsID INT  --对应B表的id值 

)

 alter table  A   add primary key(ID);

表B

CREATE TABLE B(

 id int auto_increment UNIQUE  not null, -- id流水号

 BsID INT  ,

 BB varchar(100))

 alter table B add primary key(ID);

建立两表连接查询视图

Drop VIEW if EXISTS  ab_v; 

CREATE VIEW ab_v

AS

select A.*,

B.BB  --要求用B的的BB显示 

from a A

  LEFT OUTER JOIN  a U on A.bsid=b.bsid

这样就实现啦要显示的结果 ,但是当数据到达W级时查询结果极其慢需要20多秒后来我把B表的BsID修改成:

表B

CREATE TABLE B(

 id int auto_increment UNIQUE  not null, -- id流水号

 BsID INT  ,

 BB varchar(100))

 alter table B add primary key(ID,BsID);--这句很关键:查询效率立即提高啦20倍就用啦不到1秒钟的时间就完成了查询。

转载于:https://my.oschina.net/u/234530/blog/68269

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值