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秒钟的时间就完成了查询。

你可能感兴趣的:(mysql,多表查询,高效,mysql高效,视图查询)