一 分割槽 //range分割槽
建立分割槽表:
create table
test4(
id int not
null,
name
varchar(45),
datet date not
null
partition by
range(year(datet))//也可以寫成range(name)等
partition p2005
values less than (2005),
partition p2006
values less than (2006),
partition p2007
values less than (2007),
partition p2008
values less than (2008),
partition p2009
values less than (2009)
要主鍵,自增
create table
partit.test1(
testno int(10)
unsigned not null auto_increment,
description
varchar(45) default null,
testdate datetime not
null,
primary
key(testno,testdate)//分割槽表示式包含在主鍵中
partition by
range(month(testdate))
partition td5 values
less than(5),
partition td10 values
less than(10),
partition td13 values
less than(13)
//這樣可以顯示出資料所在的分割槽:
explain partitions select *
from test4;
//減:會把此分割槽中的資料丟掉
alter table test4 drop
partition p2008;
//加:只能向上增加(2010,2011……)
alter table test4 add
partition (partition p2010 values less than(2010));
//分:把p2005分成兩個
alter table test4 reorganize
partition p2005 into(
partition s2004 values less than (2004),
partition s2005 values less than (2005)
//合:可以把幾個合成乙個
alter table test4 reorganize
partition p2009,p2010 into (
partition s2010
values less than (2010)
//檢視表資訊
mysql> show
create table test.test4\g
list 分割槽
create table
partit.test2(
testno int(10)
unsigned not null auto_increment,
description
varchar(45) default null,
testdate datetime not
null,
primary
key(testno,testdate)
partition by
list(month(testdate))
partition quarter1
values in(1,5,9),
partition quarter2
values in(2,6),
partition quarter3
values in(3,7),
partition quarter4
values in(4,8)
二 完全備份:
用「開始」「執行」cmd 開啟mysql的安裝目錄:
備份資料庫:
mysqldump -u root -p test
>test1.txt;
密碼:000
備份乙個表:
mysqldump test -u root -p
test1>test1.txt
密碼:000
恢復:mysql -u root -p test
二進位制日誌備份:
開啟 bin log
預設只有錯誤日誌,沒有其他日誌.可以通過修改配置開啟bin log.
在my.ini中加上「log-bin」
二進位制日誌位置:
c:\documents and
5.1\data
//輸出文字:
mysqlbinlog
liujl-bin.000002>log.txt
//顯示文字
mysqlbinlog
liujl-bin.000002
//還原:
mysqlbinlog
--stop-date="2009-05-19 13:15:23" liujl-bin.000002 | mysql -u root
-penter password:
mysqlbinlog
--start-position="198" liujl-bin.000002 | mysql -u root
-pstop-date:結束時間
start-date:開始時間
stop-position:結束位置
start-position:開始位置
mysql 分表分割槽
一 分表 1 垂直分割 就是將乙個表按照欄位來分,每張表保證有相同的主鍵就好。一般來說,將常用字段和大字段分表來放。優勢 比沒有分表來說,提高了查詢速度,降低了查詢結果所用記憶體 劣勢 沒有解決大量記錄的問題,對於單錶來說隨著記錄增多,效能還是下降很快 2 水平分割 水平分割是企業最常用到的,水平拆...
mysql分表與分割槽
1 首先得確認mysql是否支援分割槽功能,這可以通過命令 show plugins 檢視如果顯示如下,則說明你的mysql版本支援partition 2 innodb一般用於具有事務和外來鍵的場合,它預設將所有的表資料和索引檔案放在乙個名為ibdata1的檔案中,屬於共享表空間。myisam預設每...
MySQL分割槽和分表
1.分割槽的型別 1 range 把連續區間按範圍劃分 例 create table user id int 11 money int 11 unsigned not null,date datetime partition by range year date partition p2014 va...