mysql高效的視圖查詢及mysql高效的多表連接查詢mysql
在開發項目的時候用到mysql的視圖 創建的視圖時要鏈接多表鏈接查詢並顯示出數據 創建的過程是這樣的sql
表Aspa
CREATE TABLE A(開發
id int auto_increment UNIQUE not null, -- id流水號rem
AA varchar(100), table
BsID INT --對應B表的id值 效率
)select
alter table A add primary key(ID);im
表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秒鐘的時間就完成了查詢。