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