mysql 資料庫庫優化之 小結

2021-08-21 05:14:18 字數 3432 閱讀 5735

show engines;

mysql

高效獲取資料的資料結構。我的理解索引相當於一本書的目錄,通過目錄就知道要的資料在**,不用一頁一頁查閱找出需要的資料。關鍵字

index。

不支援,。如果希望支援中文,有兩個方案,

執行完成插入語句後,開啟索引,統一新增索引。

alter table table_name enable keys;

2,setunique_checks=0,關閉唯一性校驗。

3,setautocommit=0,關閉自動提交。

create

table emp(

idintnot

null,

namevarchar(

32)

notnull

default

''comment 『職員的名稱』,

store_id

intnotnull

comment 『超市的編號範圍是

1-20』

)engine myisam

charset utf8

partition

byrange(store_id)(

partition p0

values

less

than(

6), //是store_id的值小於

6的儲存區域。

partition p1

values

less

than(

11), //是store_id的值大於等於

6小於11的儲存區域。

partition p2

values

less

than(

16),

partition p3

values

less

than(

21))

insert

into emp

values(

1,』哈哈』,

1)--à資料是儲存到p0區

insert

into emp

values(

23,』呵呵呵』,

15)--à資料是儲存到p2區

insert

into emp

values(

100,』嘻嘻嘻』,

11)=à資料是儲存到p2區。

create

table emp(

idintnot

null,

name

varchar(

32)

notnull

default

'',

store_id

intnotnull

)partition

bylist(store_id)(

partition p0

values

in( 5,

6,7,

8),partition p1

values

in( 11,

3,12,

11),

partition p2

values

in( 16),

partition p3

values

in( 21)

)createtable sales_detail

(product_cdchar2(10),

--商品編碼

sales_amountnumber(10), --

銷售數量

sales_datedate

, --

銷售日sales_statevarchar2(20) --

銷售地區

)partitionby range(sales_date)

subpartitionby list(sales_state)(

partitionp2006q1 values less than(to_date('2006-04-01','yyyy-mm-dd')) -–1

季度分割槽

(subpartitionsales_beijing values('beijing'), --beijing

地區subpartitionsales_shanghai values('shanghai'), --shanghai

地區subpartitionsales_liaoning values('shenyang','dalian') --liaoning

地區),

partitionp2006q2 values less than(to_date('2006-07-01','yyyy-mm-dd')) –2

季度分割槽

(subpartitionsales_beijing values('beijing'), --beijing

地區subpartitionsales_shanghai values('shanghai'), --shanghai

地區subpartitionsales_liaoning values('shenyang','dalian') --liaoning

地區),

partitionp2006q3 values less than(to_date('2006-10-01','yyyy-mm-dd')) –3

季度分割槽

(subpartitionsales_beijing values('beijing'), --beijing

地區subpartitionsales_shanghai values('shanghai'), --shanghai

地區subpartitionsales_liaoning values('shenyang','dalian') --liaoning

地區),

partitionp2006q4 values less than(to_date('2007-01-01','yyyy-mm-dd')) --4

季度分割槽

(subpartitionsales_beijing values('beijing'), --beijing

地區subpartitionsales_shanghai values('shanghai'), --shanghai

地區subpartitionsales_liaoning values('shenyang','dalian') --liaoning地區)

);(2)最大分割槽數目不能超過1024

(3)如果含有唯一索引或者主鍵,則分割槽列必須包含在所有的唯一索引或者主鍵在內

(4)按日期進行分割槽很非常適合,因為很多日期函式可以用。但是對於字串來說合適的分割槽函式不太多 。                             

有其他操作。

資料庫優化小結

where條件的優化 1 in 至少多乙個轉換的過程 先試圖轉成多個表的連線,如果轉換不成功先執行in裡面的子查詢,再查詢外層記錄 2 notin 不能應用表索引,可用not exists替換的 3 不用索引,全表掃瞄。替換方案 x or 與 的區別 2會從2開始找資料,3則是從3開始找資料。但是 ...

mysql資料庫小結

adrian default character set utf8 collate utf8 general ci comment x default character set utf8 資料庫字符集。設定資料庫的預設編碼為utf8,utf8中間不要 collate utf8 general ci...

MySQL資料庫小結

一 mysql是最流行的關係型資料庫管理系統 1 資料以 的形式出現 每乙個表的名字應具有唯一性 2 每行為各種記錄名稱 3 每列為記錄名稱所對應的資料域 4 許多的行和列組成一張表單 5 若干的表單組成database 二 四大類別 資料定義語言 ddl data definition langu...