91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何區分mysql多字段

發布時間:2020-05-21 15:43:21 來源:PHP中文網 閱讀:237 作者:三月 欄目:MySQL數據庫

下面一起來了解下如何區分mysql多字段,相信大家看完肯定會受益匪淺,文字在精不在多,希望如何區分mysql多字段這篇短內容是你想要的。

分區是根據一定的規則,數據庫把一個表分解成多個更小的、更容易管理的部分。就訪問數據庫應用而言,邏輯上就只有一個表或者一個索引,但實際上這個表可能有N個物理分區對象組成,每個分區都是一個獨立的對象,可以獨立處理,可以作為表的一部分進行處理。分區對應用來說是完全透明的,不影響應用的業務邏輯。

如何區分mysql多字段

分區有利于管理非常大的表,它采用分而治之的邏輯,分區引入了分區鍵的概念,分區鍵用于根據某個區間值(或者范圍值)、特定值列表或者hash函數值執行數據的聚集,讓數據根據規則分布在不同的分區中,讓一個大對象碧昂城一些小對象。

MySQL分區即可以對數據進行分區也可以對索引進行分區。

注意:無論哪種分區,要么你分區表上沒有主鍵/唯一鍵,要么分區表的主鍵/唯一鍵都必須包含分區鍵,也就是說不能使用主鍵/唯一鍵字段之外的其它字段分區。

MySQL分區的有限主要包括以下4個方面:

和單個磁盤或者文件系統分區相比,可以存儲更多數據

優化查詢。在where子句中包含分區條件時,可以只掃描必要的一個或者多個分區來提高查詢效率;同時在涉及sum()和count()這類聚合函數的查詢時,可以容易的在每個分區上并行處理,最終只需要匯總所有分區得到的結果

對于已經過期或者不需要保存的數據,可以通過刪除與這些數據有關的分區來快速刪除數據

跨多個磁盤來分散數據查詢,以獲得更大的查詢吞吐量

分區和水平分表功能類似,將一個大表的數據分割到多張小表中去,由于查詢不需要全表掃描了,只需要掃描某些分區,所以分區能提高查詢速度。

水平分表需要用戶預先手動顯式創建出多張分表(如tbl_user0, tbl_user1, tbl_user2),在物理上實實在在的創建多張表,通過客戶端代理(Sharding-JDBC等)或者中間件代理(Mycat等)來實現分表邏輯。

分區是MySQL的一個插件Plugin功能,將一張大表的數據在數據庫底層分成多個分區文件(如tbl_user#P#p0.ibd, tbl_user#P#p1.ibd, tbl_user#P#p2.ibd),和水平分表不同的是分區不需要顯式的創建“分表”,數據庫會自動創建分區文件的,用戶看到的只是一張普通的表,其實是對應的是多個分區,這個是對用戶是屏蔽的、透明的,在使用上和使用一張表完全一樣,不需要借助任何功能來實現。分區是一種邏輯上的水平分表,在物理層面還是一張表。

在mysql5.5之前range分區和list分區只支持整數分區,可以通過額外的函數運算或者額外的轉換從而得到一個整數。columns分區分為 range columns 和 list columns 兩種,支持整數(tinyint到bigint, 不支持decimal 和float)、日期(date、datetime)、字符串(char、varchar、binary、varbinary)三大數據類型。

columns分區支持一個或者多個字段作為分區鍵,不支持表達式作為分區鍵,這點區別于range 和 list 分區。需要注意的是range columns 分區鍵的比較是基于元組的比較,也就是基于字段組的比較,這和range分區有差異。

 create talbe rc3 (    
    a int,
    b int
)
partition by range columns(a, b) (
    partition p01 values less than (0, 10),
    partition p02 values less than (10, 10),
    partition p03 values less than (10, 20),
    partition p04 values less than (10, 35),
    partition p05 values less than (10, maxvalue),
    partition p06 values less than (maxvalue, maxvalue),
);

insert into rc3(a, b) values(1, 10);

select (1, 10) < (10, 10) from dual;

-- 根據結果存放到p02分區上了
select
    partition_name,
    partition_expression,
    partition_description,
    table_rows
from information_schema.partitions
where table_schema = schema() and table_name = 'rc3';

range columns分區鍵的比較(元組的比較)其實就是多列排序,先根據a字段排序再根據b字段排序,根據排序結果來分區存放數據,和range單字段的分區排序的規則實際上是一樣的。

看完如何區分mysql多字段這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澄迈县| 定结县| 土默特右旗| 和田县| 江陵县| 康定县| 西乡县| 武胜县| 韶山市| 西乌珠穆沁旗| 光山县| 什邡市| 永春县| 峨眉山市| 勃利县| 兴山县| 普陀区| 庆元县| 松滋市| 洛宁县| 法库县| 错那县| 兴隆县| 恩平市| 秦皇岛市| 南昌市| 酒泉市| 固原市| 鄂托克旗| 郁南县| 萍乡市| 鹰潭市| 辽阳县| 虞城县| 无为县| 商河县| 太湖县| 泰来县| 海城市| 阿巴嘎旗| 彭泽县|