




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、,MySQL課程,高級(jí)2第七章,要做就做最好,要不就不做!,2020/8/31,MySQL視圖,ALTER VIEW語(yǔ)法 CREATE VIEW語(yǔ)法 DROP VIEW語(yǔ)法 SHOW CREATE VIEW語(yǔ)法,在5.1版MySQL服務(wù)器中提供了視圖功能(包括可更新視圖)。 本章討論了下述主題: 使用CREATE VIEW或ALTER VIEW創(chuàng)建或更改視圖。 使用DROP VIEW銷毀視圖。 使用SHOW CREATE VIEW顯示視圖元數(shù)據(jù)。,2020/8/31,MySQL-CREATE VIEW語(yǔ)法,CREATE OR REPLACE ALGORITHM = UNDEFINED | ME
2、RGE | TEMPTABLE VIEW view_name (column_list) AS select_statement WITH CASCADED | LOCAL CHECK OPTION 該語(yǔ)句能創(chuàng)建新的視圖,如果給定了OR REPLACE子句,該語(yǔ)句還能替換已有的視圖。select_statement是一種SELECT語(yǔ)句,它給出了視圖的定義。該語(yǔ)句可從基表或其他視圖進(jìn)行選擇。 該語(yǔ)句要求具有針對(duì)視圖的CREATE VIEW權(quán)限,以及針對(duì)由SELECT語(yǔ)句選擇的每一列上的某些權(quán)限。對(duì)于在SELECT語(yǔ)句中其他地方使用的列,必須具有SELECT權(quán)限。如果還有OR REPLACE子句
3、,必須在視圖上具有DROP權(quán)限。,2020/8/31,MySQL創(chuàng)建視圖,視圖屬于數(shù)據(jù)庫(kù)。在默認(rèn)情況下,將在當(dāng)前數(shù)據(jù)庫(kù)創(chuàng)建新視圖。要想在給定數(shù)據(jù)庫(kù)中明確創(chuàng)建視圖,創(chuàng)建時(shí),應(yīng)將名稱指定為db_name.view_name。 mysql CREATE VIEW test.v AS SELECT * FROM t; 表和視圖共享數(shù)據(jù)庫(kù)中相同的名稱空間,因此,數(shù)據(jù)庫(kù)不能包含具有相同名稱的表和視圖。 視圖必須具有唯一的列名,不得有重復(fù),就像基表那樣。默認(rèn)情況下,由SELECT語(yǔ)句檢索的列名將用作視圖列名。要想為視圖列定義明確的名稱,可使用可選的column_list子句,列出由逗號(hào)隔開的ID。colum
4、n_list中的名稱數(shù)目必須等于SELECT語(yǔ)句檢索的列數(shù)。 SELECT語(yǔ)句檢索的列可以是對(duì)表列的簡(jiǎn)單引用。也可以是使用函數(shù)、常量值、操作符等的表達(dá)式。 對(duì)于SELECT語(yǔ)句中不合格的表或視圖,將根據(jù)默認(rèn)的數(shù)據(jù)庫(kù)進(jìn)行解釋。通過用恰當(dāng)?shù)臄?shù)據(jù)庫(kù)名稱限定表或視圖名,視圖能夠引用表或其他數(shù)據(jù)庫(kù)中的視圖。 能夠使用多種SELECT語(yǔ)句創(chuàng)建視圖。視圖能夠引用基表或其他視圖。它能使用聯(lián)合、UNION和子查詢。SELECT甚至不需引用任何表。在下面的示例中,定義了從另一表選擇兩列的視圖,并給出了根據(jù)這些列計(jì)算的表達(dá)式:,mysql CREATE TABLE t (qty INT, price INT); m
5、ysql INSERT INTO t VALUES(3, 50); mysql CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t; mysql SELECT * FROM v;,2020/8/31,MySQL視圖的定義,視圖定義服從下述限制: SELECT語(yǔ)句不能包含F(xiàn)ROM子句中的子查詢。 SELECT語(yǔ)句不能引用系統(tǒng)或用戶變量。 SELECT語(yǔ)句不能引用預(yù)處理語(yǔ)句參數(shù)。 在存儲(chǔ)子程序內(nèi),定義不能引用子程序參數(shù)或局部變量。 在定義中引用的表或視圖必須存在。但是,創(chuàng)建了視圖后,能夠舍棄定義引用的表或視圖。要想檢查視圖定義
6、是否存在這類問題,可使用CHECK TABLE語(yǔ)句。 在定義中不能引用TEMPORARY表,不能創(chuàng)建TEMPORARY視圖。 在視圖定義中命名的表必須已存在。 不能將觸發(fā)程序與視圖關(guān)聯(lián)在一起。,2020/8/31,MySQL-WITH CHECK OPTION,對(duì)于可更新視圖,可給定WITH CHECK OPTION子句來防止插入或更新行,除非作用在行上的select_statement中的WHERE子句為“真”。 在關(guān)于可更新視圖的WITH CHECK OPTION子句中,當(dāng)視圖是根據(jù)另一個(gè)視圖定義的時(shí),LOCAL和CASCADED關(guān)鍵字決定了檢查測(cè)試的范圍。LOCAL關(guān)鍵字對(duì)CHECK O
7、PTION進(jìn)行了限制,使其僅作用在定義的視圖上,CASCADED會(huì)對(duì)將進(jìn)行評(píng)估的基表進(jìn)行檢查。如果未給定任一關(guān)鍵字,默認(rèn)值為CASCADED。請(qǐng)考慮下述表和視圖集合的定義: mysql CREATE TABLE t1 (a INT); mysql CREATE VIEW v1 AS SELECT * FROM t1 WHERE a CREATE VIEW v2 AS SELECT * FROM v1 WHERE a0 WITH LOCAL CHECK OPTION; mysql CREATE VIEW v3 AS SELECT * FROM v1 WHERE a0 WITH CASCADED
8、CHECK OPTION;,注:這里,視圖v2和v3是根據(jù)另一視圖v1定義的。v2具有LOCAL檢查選項(xiàng),因此,僅會(huì)針對(duì)v2檢查對(duì)插入項(xiàng)進(jìn)行測(cè)試。v3具有CASCADED檢查選項(xiàng),因此,不僅會(huì)針對(duì)它自己的檢查對(duì)插入項(xiàng)進(jìn)行測(cè)試,也會(huì)針對(duì)基本視圖的檢查對(duì)插入項(xiàng)進(jìn)行測(cè)試。在下面的語(yǔ)句中,介紹了這些差異: mysql INSERT INTO v2 VALUES (2); mysql INSERT INTO v3 VALUES (2); ERROR 1369 (HY000): CHECK OPTION failed test.v3,2020/8/31,MySQL-LOCAL與CASCADED,這里,視圖
9、v2和v3是根據(jù)另一視圖v1定義的。v2具有LOCAL檢查選項(xiàng),因此,僅會(huì)針對(duì)v2檢查對(duì)插入項(xiàng)進(jìn)行測(cè)試。v3具有CASCADED檢查選項(xiàng),因此,不僅會(huì)針對(duì)它自己的檢查對(duì)插入項(xiàng)進(jìn)行測(cè)試,也會(huì)針對(duì)基本視圖的檢查對(duì)插入項(xiàng)進(jìn)行測(cè)試。在下面的語(yǔ)句中,介紹了這些差異: mysql INSERT INTO v2 VALUES (2); mysql INSERT INTO v3 VALUES (3); ERROR 1369 (HY000): CHECK OPTION failed test.v3,注:視圖的可更新性可能會(huì)受到系統(tǒng)變量updatable_views_with_limit的值的影響。,2020/8
10、/31,MySQL-ALTER VIEW語(yǔ)法,ALTER ALGORITHM = UNDEFINED | MERGE | TEMPTABLE VIEW view_name (column_list) AS select_statement WITH CASCADED | LOCAL CHECK OPTION 該語(yǔ)句用于更改已有視圖的定義。其語(yǔ)法與CREATE VIEW類似。 mysql alter view v3 as select * from t1 where a 1 with local check option;,注:CREATE VIEW和DROP權(quán)限,也需要針對(duì)SELECT語(yǔ)句中引
11、用的每一列的某些權(quán)限。,2020/8/31,MySQL視圖關(guān)聯(lián)性,某些視圖是可更新的。也就是說,可以在諸如UPDATE、DELETE或INSERT等語(yǔ)句中使用它們,以更新基表的內(nèi)容。對(duì)于可更新的視圖,在視圖中的行和基表中的行之間必須具有一對(duì)一的關(guān)系。還有一些特定的其他結(jié)構(gòu),這類結(jié)構(gòu)會(huì)使得視圖不可更新。更具體地講,如果視圖包含下述結(jié)構(gòu)中的任何一種,那么它就是不可更新的: 聚合函數(shù)(SUM(), MIN(), MAX(), COUNT()等)。 DISTINCT GROUP BY HAVING UNION或UNION ALL 位于選擇列表中的子查詢 Join FROM子句中的不可更新視圖 WHER
12、E子句中的子查詢,引用FROM子句中的表。 mysql alter view v3 as select count(*)from t1 where a 1 with local check option;,ERROR 1368 (HY000): CHECK OPTION on non-updatable view test.v3,2020/8/31,MySQL- DROP VIEW語(yǔ)法,DROP VIEW IF EXISTS view_name , view_name . RESTRICT | CASCADE DROP VIEW能夠刪除1個(gè)或多個(gè)視圖。必須在每個(gè)視圖上擁有DROP權(quán)限。 可以使
13、用關(guān)鍵字IF EXISTS來防止因不存在的視圖而出錯(cuò)。給定了該子句時(shí),將為每個(gè)不存在的視圖生成NOTE。,2020/8/31,MySQL- SHOW CREATE VIEW語(yǔ)法,SHOW CREATE VIEW view_name 該語(yǔ)句給出了1個(gè)創(chuàng)建給定視圖的CREATE VIEW語(yǔ)句。 mysql SHOW CREATE VIEW v; mysql SHOW CREATE VIEW vG;,2020/8/31,MySQL分區(qū),分區(qū)概述 分區(qū)類型 分區(qū)管理,2020/8/31,MySQL分區(qū)概述,SQL語(yǔ)言的使用獨(dú)立于它所使用的任何數(shù)據(jù)結(jié)構(gòu)或圖表、表、行或列下的介質(zhì)。但是,大部分高級(jí)數(shù)據(jù)庫(kù)管
14、理系統(tǒng)已經(jīng)開發(fā)了一些根據(jù)文件系統(tǒng)、硬件或者這兩者來確定將要用于存儲(chǔ)特定數(shù)據(jù)塊物理位置的方法。在MySQL中,InnoDB存儲(chǔ)引擎長(zhǎng)期支持表空間的概念。 分區(qū)又把這個(gè)概念推進(jìn)了一步,它允許根據(jù)可以設(shè)置為任意大小的規(guī)則,跨文件系統(tǒng)分配單個(gè)表的多個(gè)部分。實(shí)際上,表的不同部分在不同的位置被存儲(chǔ)為單獨(dú)的表。用戶所選擇的、實(shí)現(xiàn)數(shù)據(jù)分割的規(guī)則被稱為分區(qū)函數(shù),這在MySQL中它可以是模數(shù),或者是簡(jiǎn)單的匹配一個(gè)連續(xù)的數(shù)值區(qū)間或數(shù)值列表,或者是一個(gè)內(nèi)部HASH函數(shù),或一個(gè)線性HASH函數(shù)。函數(shù)根據(jù)用戶指定的分區(qū)類型來選擇,把用戶提供的表達(dá)式的值作為參數(shù)。該表達(dá)式可以是一個(gè)整數(shù)列值,或一個(gè)作用在一個(gè)或多個(gè)列值上并返
15、回一個(gè)整數(shù)的函數(shù)。這個(gè)表達(dá)式的值傳遞給分區(qū)函數(shù),分區(qū)函數(shù)返回一個(gè)表示那個(gè)特定記錄應(yīng)該保存在哪個(gè)分區(qū)的序號(hào)。這個(gè)函數(shù)不能是常數(shù),也不能是任意數(shù)。它不能包含任何查詢,但是實(shí)際上可以使用MySQL 中任何可用的SQL表達(dá)式,只要該表達(dá)式返回一個(gè)小于MAXVALUE(最大可能的正整數(shù))的正數(shù)值。 可以通過使用SHOW VARIABLES命令來確定MySQL是否支持分區(qū),例如: mysql SHOW VARIABLES LIKE %partition%;,2020/8/31,MySQL- PARTITION,要為某個(gè)分區(qū)表配置一個(gè)專門的存儲(chǔ)引擎,必須且只能使用STORAGE ENGINE 選項(xiàng),這如同為
16、非分區(qū)表配置存儲(chǔ)引擎一樣。但是,必須記住STORAGE ENGINE(和其他的表選項(xiàng))必須列在用在CREATE TABLE語(yǔ)句中的其他任何分區(qū)選項(xiàng)之前。下面的例子給出了怎樣創(chuàng)建一個(gè)通過HASH分成6個(gè)分區(qū)、使用InnoDB存儲(chǔ)引擎的表: mysql CREATE TABLE t2 (id INT, amount DECIMAL(7,2), tr_date DATE) ENGINE=INNODB PARTITION BY HASH(MONTH(tr_date) PARTITIONS 6;,注:分區(qū)適用于一個(gè)表的所有數(shù)據(jù)和索引;不能只對(duì)數(shù)據(jù)分區(qū)而不對(duì)索引分區(qū),反之亦然,同時(shí)也不能只對(duì)表的一部分進(jìn)行
17、分區(qū)。,2020/8/31,MySQL分區(qū)的優(yōu)點(diǎn),分區(qū)的一些優(yōu)點(diǎn)包括: 與單個(gè)磁盤或文件系統(tǒng)分區(qū)相比,可以存儲(chǔ)更多的數(shù)據(jù)。 對(duì)于那些已經(jīng)失去保存意義的數(shù)據(jù),通??梢酝ㄟ^刪除與那些數(shù)據(jù)有關(guān)的分區(qū),很容易地刪除那些數(shù)據(jù)。相反地,在某些情況下,添加新數(shù)據(jù)的過程又可以通過為那些新數(shù)據(jù)專門增加一個(gè)新的分區(qū),來很方便地實(shí)現(xiàn)。 通常和分區(qū)有關(guān)的其他優(yōu)點(diǎn)包括下面列出的這些。MySQL 分區(qū)中的這些功能目前還沒有實(shí)現(xiàn),但是在我們的優(yōu)先級(jí)列表中,具有高的優(yōu)先級(jí);我們希望在5.1的生產(chǎn)版本中,能包括這些功能。 一些查詢可以得到極大的優(yōu)化,這主要是借助于滿足一個(gè)給定WHERE 語(yǔ)句的數(shù)據(jù)可以只保存在一個(gè)或多個(gè)分區(qū)內(nèi),
18、這樣在查找時(shí)就不用查找其他剩余的分區(qū)。因?yàn)榉謪^(qū)可以在創(chuàng)建了分區(qū)表后進(jìn)行修改,所以在第一次配置分區(qū)方案時(shí)還不曾這么做時(shí),可以重新組織數(shù)據(jù),來提高那些常用查詢的效率。 涉及到例如SUM() 和 COUNT()這樣聚合函數(shù)的查詢,可以很容易地進(jìn)行并行處理。這種查詢的一個(gè)簡(jiǎn)單例子如 “SELECT salesperson_id, COUNT(orders) as order_total FROM sales GROUP BY salesperson_id;”。通過“并行”, 這意味著該查詢可以在每個(gè)分區(qū)上同時(shí)進(jìn)行,最終結(jié)果只需通過總計(jì)所有分區(qū)得到的結(jié)果。 通過跨多個(gè)磁盤來分散數(shù)據(jù)查詢,來獲得更大的查詢
19、吞吐量。,2020/8/31,MySQL分區(qū)類型,RANGE 分區(qū):基于一個(gè)給定連續(xù)區(qū)間的列值,把多行分配給分區(qū)。 LIST 分區(qū):類似于按RANGE分區(qū),區(qū)別在于LIST分區(qū)是基于列值匹配一個(gè)離散值集合中的某個(gè)值來進(jìn)行選擇。 HASH分區(qū):基于用戶定義的表達(dá)式的返回值來進(jìn)行選擇的分區(qū),該表達(dá)式使用將要插入到表中的這些行的列值進(jìn)行計(jì)算。這個(gè)函數(shù)可以包含MySQL 中有效的、產(chǎn)生非負(fù)整數(shù)值的任何表達(dá)式。 KEY 分區(qū):類似于按HASH分區(qū),區(qū)別在于KEY分區(qū)只支持計(jì)算一列或多列,且MySQL 服務(wù)器提供其自身的哈希函數(shù)。必須有一列或多列包含整數(shù)值。,注:無論使用何種類型的分區(qū),分區(qū)總是在創(chuàng)建時(shí)就
20、自動(dòng)的順序編號(hào),且從0開始記錄,記住這一點(diǎn)非常重要。當(dāng)有一新行插入到一個(gè)分區(qū)表中時(shí),就是使用這些分區(qū)編號(hào)來識(shí)別正確的分區(qū)。例如,如果你的表使用4個(gè)分區(qū),那么這些分區(qū)就編號(hào)為0, 1, 2, 和3。對(duì)于RANGE和LIST分區(qū)類型,確認(rèn)每個(gè)分區(qū)編號(hào)都定義了一個(gè)分區(qū),很有必要。對(duì)HASH分區(qū),使用的用戶函數(shù)必須返回一個(gè)大于0的整數(shù)值。對(duì)于KEY分區(qū),這個(gè)問題通過MySQL服務(wù)器內(nèi)部使用的 哈希函數(shù)自動(dòng)進(jìn)行處理。,2020/8/31,MySQL分區(qū)命名名稱,分區(qū)的名字基本上遵循其他MySQL 標(biāo)識(shí)符應(yīng)當(dāng)遵循的原則,例如用于表和數(shù)據(jù)庫(kù)名字的標(biāo)識(shí)符。但是應(yīng)當(dāng)注意,分區(qū)的名字是不區(qū)分大小寫的。例如,下面的
21、CREATE TABLE語(yǔ)句將會(huì)產(chǎn)生如下的錯(cuò)誤: mysql CREATE TABLE t2 (val INT) PARTITION BY LIST(val)( PARTITION mypart VALUES IN (1,3,5), PARTITION MyPart VALUES IN (2,4,6) ); 錯(cuò)誤1488 (HY000): 表的所有分區(qū)必須有唯一的名字。 這是因?yàn)镸ySQL認(rèn)為分區(qū)名字mypart和MyPart沒有區(qū)別。,2020/8/31,MySQL-RANGE分區(qū),按照RANGE分區(qū)的表是通過如下一種方式進(jìn)行分區(qū)的,每個(gè)分區(qū)包含那些分區(qū)表達(dá)式的值位于一個(gè)給定的連續(xù)區(qū)間內(nèi)的行
22、。這些區(qū)間要連續(xù)且不能相互重疊,使用VALUES LESS THAN操作符來進(jìn)行定義。在下面的幾個(gè)例子中,假定你創(chuàng)建了一個(gè)如下的一個(gè)表,該表保存有20家音像店的職員記錄,這20家音像店的編號(hào)從1到20。 mysql CREATE TABLE temp (id INT NOT NULL,name VARCHAR(30) PARTITION BY RANGE (id) ( PARTITION p0 VALUES LESS THAN (6), PARTITION p1 VALUES LESS THAN (11), PARTITION p2 VALUES LESS THAN (16), PARTITI
23、ON p3 VALUES LESS THAN (21);,注:按照這種分區(qū)方案,在商店1到5工作的雇員相對(duì)應(yīng)的所有 行被保存在分區(qū)P0中,商店6到10的雇員保存在P1中,依次類 推。注意,每個(gè)分區(qū)都是按順序進(jìn)行定義,從最低到最高。這 是PARTITION BY RANGE 語(yǔ)法的要求;在這點(diǎn)上,它類似于C 或Java中的“switch . case”語(yǔ)句。,2020/8/31,MySQL-RANGE分區(qū),按照RANGE分區(qū)的表是通過如下一種方式進(jìn)行分區(qū)的,每個(gè)分區(qū)包含那些分區(qū)表達(dá)式的值位于一個(gè)給定的連續(xù)區(qū)間內(nèi)的行。這些區(qū)間要連續(xù)且不能相互重疊,使用VALUES LESS THAN操作符來進(jìn)行定
24、義。在下面的幾個(gè)例子中,假定你創(chuàng)建了一個(gè)如下的一個(gè)表,該表保存有20家音像店的職員記錄,這20家音像店的編號(hào)從1到20。,但是如果增加了一個(gè)編號(hào)為第21的商店,將會(huì)發(fā)生什么呢?,2020/8/31,MySQL-RANGE分區(qū),按照RANGE分區(qū)的表是通過如下一種方式進(jìn)行分區(qū)的,每個(gè)分區(qū)包含那些分區(qū)表達(dá)式的值位于一個(gè)給定的連續(xù)區(qū)間內(nèi)的行。這些區(qū)間要連續(xù)且不能相互重疊,使用VALUES LESS THAN操作符來進(jìn)行定義。在下面的幾個(gè)例子中,假定你創(chuàng)建了一個(gè)如下的一個(gè)表,該表保存有20家音像店的職員記錄,這20家音像店的編號(hào)從1到20。 mysql CREATE TABLE temp (id IN
25、T NOT NULL,name VARCHAR(30) PARTITION BY RANGE (id) ( PARTITION p0 VALUES LESS THAN (6), PARTITION p1 VALUES LESS THAN (11), PARTITION p2 VALUES LESS THAN (16), PARTITION p3 VALUES LESS THAN (21);,注:按照這種分區(qū)方案,在商店1到5工作的雇員相對(duì)應(yīng)的所有行被保存 在分區(qū)P0中,商店6到10的雇員保存在P1中,依次類推。注意,每個(gè)分 區(qū)都是按順序進(jìn)行定義,從最低到最高。這是PARTITION BY RA
26、NGE 語(yǔ) 法的要求;在這點(diǎn)上,它類似于C或Java中的“switch . case”語(yǔ)句。,但是如果增加了一個(gè)編號(hào)為第21的商店,將會(huì)發(fā)生什么呢? MAXVALUE,2020/8/31,MySQL- LIST分區(qū),MySQL中的LIST分區(qū)在很多方面類似于RANGE分區(qū)。和按照RANGE分區(qū)一樣,每個(gè)分區(qū)必須明確定義。它們的主要區(qū)別在于,LIST分區(qū)中每個(gè)分區(qū)的定義和選擇是基于某列的值從屬于一個(gè)值列表集中的一個(gè)值,而RANGE分區(qū)是從屬于一個(gè)連續(xù)區(qū)間值的集合。LIST分區(qū)通過使用“PARTITION BY LIST(expr)”來實(shí)現(xiàn),其中“expr” 是某列值或一個(gè)基于某個(gè)列值、并返回一個(gè)
27、整數(shù)值的表達(dá)式,然后通過“VALUES IN (value_list)”的方式來定義每個(gè)分區(qū),其中“value_list”是一個(gè)通過逗號(hào)分隔的整數(shù)列表。 假定有20個(gè)音像店,分布在4個(gè)有經(jīng)銷權(quán)的地區(qū),如下表所示: mysql CREATE TABLE temp (id INT NOT NULL,name VARCHAR(30) PARTITION BY LIST (id) ( PARTITION p0 VALUES IN (3,5,6,9,17), PARTITION p1 VALUES IN (1,2,10,11,19,20), PARTITION p2 VALUES IN (4,12,13
28、,14,18), PARTITION p3 VALUES IN (7,8,15,16);,注:LIST分區(qū)沒有類似如“VALUES LESS THAN MAXVALUE”這樣的包含其他值在內(nèi)的定義。,2020/8/31,MySQL- HASH分區(qū),HASH分區(qū)主要用來確保數(shù)據(jù)在預(yù)先確定數(shù)目的分區(qū)中平均分布。在RANGE和LIST分區(qū)中,必須明確指定一個(gè)給定的列值或列值集合應(yīng)該保存在哪個(gè)分區(qū)中;而在HASH分區(qū)中,MySQL 自動(dòng)完成這些工作,你所要做的只是基于將要被哈希的列值指定一個(gè)列值或表達(dá)式,以及指定被分區(qū)的表將要被分割成的分區(qū)數(shù)量。 例如,下面的語(yǔ)句創(chuàng)建了一個(gè)使用基于“id”列進(jìn)行 哈希
29、處理的表,該表被分成了4個(gè)分區(qū): mysql CREATE TABLE temp (id INT NOT NULL,name VARCHAR(30) PARTITION BY HASH(id) PARTITIONS 4; MySQL還支持線性哈希LINEAR HASH分區(qū)功能。,注:如果沒有包括一個(gè)PARTITIONS子句,那么分區(qū) 的數(shù)量將默認(rèn)為1。 例外: 對(duì)于NDB Cluster(簇) 表,默認(rèn)的分區(qū)數(shù)量將與簇?cái)?shù)據(jù)節(jié)點(diǎn)的數(shù)量相同,這 種修正可能是考慮任何MAX_ROWS 設(shè)置,以便確保 所有的行都能合適地插入到分區(qū)中。,2020/8/31,MySQL- KEY分區(qū),按照KEY進(jìn)行分區(qū)類似于按照HASH分區(qū),除了HASH分區(qū)使用的用戶定義的表達(dá)式,而KEY分區(qū)的 哈希函數(shù)是由MySQL 服務(wù)器提供。MySQL 簇(Cluster)使用函數(shù)MD5()來實(shí)現(xiàn)KEY分區(qū);對(duì)于使用其他
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 心包縱隔引流管護(hù)理
- 湖里區(qū)初三二模數(shù)學(xué)試卷
- DevOps運(yùn)維流程再造-洞察及研究
- 海州區(qū)數(shù)學(xué)試卷
- 2025年標(biāo)準(zhǔn)個(gè)人短期貸款合同模板
- 山區(qū)農(nóng)產(chǎn)品品牌定位策略-洞察及研究
- 濟(jì)南市初中三模數(shù)學(xué)試卷
- 寵物食品安全檢測(cè)新技術(shù)-洞察及研究
- 依戀與關(guān)系親密度建立-洞察及研究
- 基層醫(yī)療人才激勵(lì)-洞察及研究
- 余料使用管理制度
- 農(nóng)業(yè)面源防治課件
- 設(shè)計(jì)院培訓(xùn)管理制度
- 2025至2030中國(guó)氨基吡啶行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 2025-2030中國(guó)商業(yè)展示道具市場(chǎng)應(yīng)用前景及投資價(jià)值評(píng)估報(bào)告
- 2025年甘肅省武威市民勤縣西渠鎮(zhèn)人民政府選聘專業(yè)化管理村文書筆試參考題庫(kù)及1套完整答案詳解
- 防洪防汛安全知識(shí)試題及答案
- JG/T 446-2014建筑用蓄光型發(fā)光涂料
- T/CCMA 0137-2022防撞緩沖車
- 工地意外死亡賠償協(xié)議書6篇
- 江蘇省2025年中職職教高考文化統(tǒng)考數(shù)學(xué)試題答案
評(píng)論
0/150
提交評(píng)論