国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql的分區(qū)技,術(shù)詳細(xì)介紹

2019-11-02 14:38:19
字體:
供稿:網(wǎng)友

   一、概述

  當(dāng) MySQL的總記錄數(shù)超過了100萬后,會(huì)出現(xiàn)性能的大幅度下降嗎?答案是肯定的,但是,性能下降>的比率不一而同,要看系統(tǒng)的架構(gòu)、應(yīng)用程序、還有>包括索引、服務(wù)器硬件等多種因素而定。當(dāng)有網(wǎng)友問我這個(gè)問題的時(shí)候,我最常見的回答>就是:分表,可以根據(jù)id區(qū)間或者時(shí)間先后順序等多種規(guī)則來分表。分表很容易,然而由此所帶來的應(yīng)用程序甚至是架構(gòu)方面的改動(dòng)工作卻不>容小覷,還包括將來的擴(kuò)展性等。

  在以前,一種解決方案就是使用 MERGE

  類型,這是一個(gè)非常方便的做飯。架構(gòu)和程序基本上不用做改動(dòng),不過,它的缺點(diǎn)是顯見的:

  1.只能在相同結(jié)構(gòu)的 MyISAM 表上使用

  2.無法享受到 MyISAM 的全部功能,例如無法在 MERGE 類型上執(zhí)行 FULLTEXT 搜索

  3.它需要使用更多的文件描述符

  4.讀取索引更慢

  這個(gè)時(shí)候,MySQL 5.1 中新增的分區(qū)(Partition)功能的優(yōu)勢(shì)也就很明顯了:

  1.與單個(gè)磁盤或文件系統(tǒng)分區(qū)相比,可以存儲(chǔ)更多的數(shù)據(jù)

  2.很容易就能刪除不用或者過時(shí)的數(shù)據(jù)

  3.一些查詢可以得到極大的優(yōu)化

  4.涉及到 SUM()/COUNT() 等聚合函數(shù)時(shí),可以并行進(jìn)行

  5.IO吞吐量更大

  分區(qū)允許可以設(shè)置為任意大小的規(guī)則,跨文件系統(tǒng)分配單個(gè)表的多個(gè)部分。實(shí)際上,表的不同部分在不同的位置被存儲(chǔ)為單獨(dú)的表。

  分區(qū)應(yīng)該注意的事項(xiàng):

  1、 做分區(qū)時(shí),要么不定義主鍵,要么把分區(qū)字段加入到主鍵中。

  2、 分區(qū)字段不能為NULL,要不然怎么確定分區(qū)范圍呢,所以盡量NOT NULL

  二、分區(qū)的類型

  1.RANGE 分區(qū):基于屬于一個(gè)給定連續(xù)區(qū)間的列值,把多行分配給分區(qū)。

  2.LIST 分區(qū):類似于按RANGE分區(qū),區(qū)別在于LIST分區(qū)是基于列值匹配一個(gè)離散值集合中的某個(gè)值來進(jìn)行選擇。

  2.HASH分區(qū):基于用戶定義的表達(dá)式的返回值來進(jìn)行選擇的分區(qū),該表達(dá)式使用將要插入到表中的這些行的列值進(jìn)行計(jì)算。這個(gè)函數(shù)可以包>含MySQL中有效的、產(chǎn)生非負(fù)整數(shù)值的任何表達(dá)式。

  3.KEY分區(qū):類似于按HASH分區(qū),區(qū)別在于KEY分區(qū)只支持計(jì)算一列或多列,且MySQL服務(wù)器提供其自身的哈希函數(shù)。必須有一列或多列包含>整數(shù)值。

  可以通過使用SHOW VARIABLES命令來確定MySQL是否支持分區(qū),例如:

  代碼如下:

  mysql> SHOW VARIABLES LIKE '%partition%';

  +-----------------------+-------+

  | Variable_name | Value |

  +-----------------------+-------+

  | have_partition_engine | YES |

  +-----------------------+-------+

  1

世界未解之謎[www.9-39.com/html/mystery/]
row in set (0.00 sec)

  代碼如下:

  mysql> SHOW VARIABLES LIKE '%partition%';

  +-----------------------+-------+

  | Variable_name | Value |

  +-----------------------+-------+

  | have_partition_engine | YES |

  +-----------------------+-------+

  1 row in set (0.00 sec)

  1、range分區(qū)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 进贤县| 迁西县| 鄯善县| 工布江达县| 枣阳市| 定结县| 忻州市| 甘南县| 昌邑市| 临潭县| 治县。| 尉氏县| 丹巴县| 扬州市| 灌云县| 泌阳县| 酉阳| 康保县| 丰都县| 图木舒克市| 建瓯市| 康马县| 鄄城县| 和平区| 瓮安县| 灵寿县| 塘沽区| 白水县| 岢岚县| 中阳县| 聊城市| 台前县| 武邑县| 连城县| 陵川县| 长宁县| 察雅县| 肥西县| 正定县| 淮阳县| 镇沅|