maxvalue mysql自动分区_创建mysql表分区的方法
創(chuàng)建
mysql
表分區(qū)的方法
我來給大家介紹一下
mysql
表分區(qū)創(chuàng)建與使用吧,希望對各位同學(xué)會有所幫助。表分區(qū)的測試使用,主要內(nèi)容來自
于其他博客文章以及
mysql5.1
的參考手冊。
表分區(qū)是最近才知道的哦
,
以前自己做都是分表來實現(xiàn)上億級別的數(shù)據(jù)了,
下面我來給大家介紹一下
mysql
表分區(qū)創(chuàng)建
與使用吧,希望對各位同學(xué)會有所幫助。
表分區(qū)的測試使用,主要內(nèi)容來自于其他博客文章以及
mysql5.1
的參考手冊
mysql
測試版本:
mysql5.5.28
mysql
物理存儲文件(有
mysql
配置的
datadir
決定存儲路徑)格式簡介
數(shù)據(jù)庫
engine
為
MYISAM
frm
表結(jié)構(gòu)文件,
myd
表數(shù)據(jù)文件,
myi
表索引文件。
INNODB
engine
對應(yīng)的表物理存儲文件
innodb
的數(shù)據(jù)庫的物理文件結(jié)構(gòu)為:
.frm
文件
.ibd
文件和
.ibdata
文件:
這兩種文件都是存放
innodb
數(shù)據(jù)的文件,之所以用兩種文件來存放
innodb
的數(shù)據(jù),是因為
innodb
的數(shù)據(jù)存儲方式能夠
通過配置來決定是使用共享表空間存放存儲數(shù)據(jù),還是用獨享表空間存放存儲數(shù)據(jù)。
獨享表空間存儲方式使用
.ibd
文件,并且每個表一個
ibd
文件
共享表空間存儲方式使用
.ibdata
文件,所有表共同使用一個
ibdata
文件
創(chuàng)建分區(qū)
分區(qū)的一些優(yōu)點包括:
·
與單個磁盤或文件系統(tǒng)分區(qū)相比,可以存儲更多的數(shù)據(jù)。
·
對于那些已經(jīng)失去保存意義的數(shù)據(jù),通常可以通過刪除與那些數(shù)據(jù)有關(guān)的分區(qū),很容易地刪除那些數(shù)據(jù)。相反地,在
某些情況下,添加新數(shù)據(jù)的過程又可以通過為那些新數(shù)據(jù)專門增加一個新的分區(qū),來很方便地實現(xiàn)。
通常和分區(qū)有關(guān)的其他優(yōu)點包括下面列出的這些。
MySQL
分區(qū)中的這些功能目前還沒有實現(xiàn),
但是在我們的優(yōu)先級列表
中,具有高的優(yōu)先級;我們希望在
5.1
的生產(chǎn)版本中,能包括這些功能。
·
一些查詢可以得到極大的優(yōu)化,這主要是借助于滿足一個給定
WHERE
語句的數(shù)據(jù)可以只保存在一個或多個分區(qū)內(nèi),
這樣在查找時就不用查找其他剩余的分區(qū)。因為分區(qū)可以在創(chuàng)建了分區(qū)表后進(jìn)行修改,所以在第一次配置分區(qū)方案時還
不曾這么做時,可以重新組織數(shù)據(jù),來提高那些常用查詢的效率。
·
涉及到例如
SUM()
和
COUNT()
這樣聚合函數(shù)的查詢,可以很容易地進(jìn)行并行處理。這種查詢的一個簡單例子如
“SE
LECT
salesperson_id,
COUNT(orders)
as
order_total
FROM
sales
GROUP
BY
salesperson_id
;
”
。通過
“
并行
”
,
這意
味著該查詢可以在每個分區(qū)上同時進(jìn)行,最終結(jié)果只需通過總計所有分區(qū)得到的結(jié)果。
·
通過跨多個磁盤來分散數(shù)據(jù)查詢,來獲得更大的查詢吞吐量。
簡而言之就是
數(shù)據(jù)管理優(yōu)化,查詢更快,數(shù)據(jù)查詢并行
總結(jié)
以上是生活随笔為你收集整理的maxvalue mysql自动分区_创建mysql表分区的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: r语言怎么保存代码_R代码忘记保存,系统
- 下一篇: 震惊!printf 与scanf 不可告