應用場景
1.查的多,寫的少(基於引擎特性,索引檔案與元資料檔案分別儲存);功能介紹2.資料量過高;
myisam引擎分表功能是 基於建立多個子表,由主表關聯而形成的分表功能,該主表可以視為空殼,來引導儲存到子表
/**表1*/
create
table
`union_user_1`
(`id`
bigint(21
)not
null
auto_increment
,`name`
varchar
(255
)character
set utf8 default
null
,primary
key(
`id`))
engine
=myisam auto_increment=5
default
charset
=latin1;
/**表2*/
create
table
`union_user_2`
(`id`
bigint(21
)not
null
auto_increment
,`name`
varchar
(255
)character
set utf8 default
null
,primary
key(
`id`))
engine
=myisam auto_increment=5
default
charset
=latin1;
/**表3*/
create
table
`union_user_3`
(`id`
bigint(21
)not
null
auto_increment
,`name`
varchar
(255
)character
set utf8 default
null
,primary
key(
`id`))
engine
=myisam auto_increment=5
default
charset
=latin1;
把源資料寫入到新建立的子表中
insert
into uion_user_1 (id,
`name`
)select id ,
`name`
from table_name where id %2=
0insert
into uion_user_2 (id,
`name`
)select id ,
`name`
from table_name where id %2=
1
union (uion_user_1
,uion_user_2
,uion_user_3
) 為關聯的子表insert_method = last 設定資料會儲存到最後一張子表中
create
table
`user`(
`id`
bigint(21
)not
null
auto_increment
,`name`
varchar
(255
)character
set utf8 default
null
primary
key(
`id`))
engine
=mrg_myisam default
charset
=latin1 insert_method=
last
union=(
`uion_user_1`
,`uion_user_2`
,`uion_user_3`
);
查詢就ok了mysql MYISAM表批量壓縮
關於對myisam表的壓縮,可以使用myisampack和myisamchk完成 myisampack完之後必須進行myisamchk才能使用壓縮後的表,而且是唯讀的 其詳細地用法可以參考官方文件 這兩個操作需要謹慎使用,在壓縮之前需要確認mysqld已關閉或者要壓縮的表不會有其他的sql操作 而且...
mysql MyISAM表的儲存格式
myisam支援三種不同的儲存格式 固定格式,動態格式,已壓縮格式 只能使用myisampack工具來建立 靜態表特徵 固定格式 靜態格式是myisam表的預設儲存格式。當表不包含變數長度列 varchar,blob,或text 時,使用這個格式。每一行用固定位元組數儲存。靜態格式是三種儲存格式中最...
Mysql MERGE引擎分表
一.什麼是merge引擎 merge儲存引擎把一組myisam資料表當做乙個邏輯單元來對待,讓我們可以同時對他們進行查詢。二.應用場景 如果需要把日誌紀錄不停的錄入mysql資料庫,並且每天 每週或者每個月都建立乙個單一的表,而且要時常進行來自多個表的合計查詢,merge表這時會非常簡單有效。三.舉...