根據(jù)用戶定義的枚舉值與分片節(jié)點(diǎn)映射文件,直接定位目標(biāo)分片。
十載的銅山網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整銅山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“銅山網(wǎng)站設(shè)計(jì)”,“銅山網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
用戶在rule.xml中配置枚舉值文件路徑和分片索引是字符串還是數(shù)字,DBLE在啟動(dòng)時(shí)會(huì)將枚舉值文件加載到內(nèi)存中,形成一個(gè)映射表
在DBLE的運(yùn)行過程中,用戶訪問使用這個(gè)算法的表時(shí),WHERE子句中的分片索引值會(huì)被提取出來,直接查映射表得到分片編號(hào)
與MyCat的類似分片算法對(duì)比
中間件
DBLE
MyCat
分片算法種類 ? ?enum 分區(qū)算法 ? ?分片枚舉 ?
兩種中間件的枚舉分片算法使用上無差別。
開發(fā)注意點(diǎn)
【分片索引】1. 整型數(shù)字(可以為負(fù)數(shù))或字符串((不含=和換行符)
【分片索引】2. 枚舉值之間不能重復(fù)
Male=0Male=1
或者
123=1123=2
會(huì)導(dǎo)致分片策略加載出錯(cuò)
【分片索引】3. 不同枚舉值可以映射到同一個(gè)分片上
Mr=0Mrs=1Miss=1Ms=1123=0
運(yùn)維注意點(diǎn)
【擴(kuò)容】1. 增加枚舉值無需數(shù)據(jù)再平衡
【擴(kuò)容】2. 增加一個(gè)枚舉值的分片數(shù)量數(shù)時(shí),需要對(duì)局部數(shù)據(jù)進(jìn)行遷移
【縮容】1. 減少枚舉值需要數(shù)據(jù)再平衡
【縮容】2. 減少一個(gè)枚舉值的分片數(shù)量數(shù)時(shí),需要對(duì)局部數(shù)據(jù)進(jìn)行遷移
配置注意點(diǎn)
【配置項(xiàng)】1. 在 rule.xml 中,可配置項(xiàng)為?property name="defaultNode" 、property name="mapFile" 和 property name="type"
【配置項(xiàng)】2. 在 rule.xml 中配置?property name="defaultNode"?標(biāo)簽,非必須配置項(xiàng),不配置該項(xiàng)的話,用戶的分片索引值沒落在 mapFile 定義的范圍時(shí),DBLE 會(huì)報(bào)錯(cuò);若需要配置,必須為非負(fù)整數(shù),用戶的分片索引值沒落在 mapFile 定義的范圍時(shí),DBLE 會(huì)路由至這個(gè)值的 MySQL 分片
【配置項(xiàng)】3. 在 rule.xml 中配置 property name="mapFile"?標(biāo)簽,范圍映射文件的路徑:若在映射文件在 DBLE_HOME/conf 或其中,則可以使用相對(duì)路徑的形式配置,例如,映射文件是 DBLE_HOME/conf/map/table_map.txt 時(shí),配置值就可以簡(jiǎn)寫為 map/table_map.txt;映射文件在 DBLE_HOME/conf 目錄以外時(shí),需要使用絕對(duì)路徑,但這種做法需要考慮用戶權(quán)限等問題,因此不建議把映射文件放在 DBLE_HOME/conf 外。
【配置項(xiàng)】4. 編輯 mapFile 所配置的文件
記錄格式為:枚舉值=分片編號(hào)
枚舉值可以是整型數(shù)字,或任意字符(除了=和換行符),分片編號(hào)必須是非負(fù)整型數(shù)字,記錄之間以換行分隔,一行僅能有一條記錄,枚舉值不能夠是“DEFAULT_NODE”這個(gè)字符串,允許以“//”和“#”在行首來注釋該行
【配置項(xiàng)】5. 在 rule.xml 中配置 property name="type"?標(biāo)簽;type 必須為整型;取值為 0 時(shí),mapFile 的枚舉值必須為整型;取值為非 0 時(shí),mapFile 的枚舉值可以是任意字符(除了=和換行符)
使用ALTER命令修改
【格式】
ALTER TABLE 表名 ?MODIFY COLUMN 字段名 字段類型定義;
例如:
ALTER TABLE tb_user ?MODIFY COLUMN ip VARCHAR(50);
1、授權(quán)mysql在遠(yuǎn)程機(jī)器上以登錄。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'host' IDENTIFIED BY 'pwd' WITH GRANT OPTION。
2、修改字段名稱和類型。
--alter table upload change column old name new name new datatype
alter table filetable change column fdata fdata MediumBlob
3、MySQL BLOB。
MySQL中,BLOB是一個(gè)二進(jìn)制大型對(duì)象,是一個(gè)可以存儲(chǔ)大量數(shù)據(jù)的容器,它能容納不同大小的數(shù)據(jù)。BLOB類型實(shí)際是個(gè)類型系列(TinyBlob、Blob、MediumBlob、LongBlob),除在存儲(chǔ)的最大信息量上不同,基本是等同的。
MySQL的四種BLOB類型;類型、大小(單位:字節(jié)):
1、TinyBlob 最大 255 。
2、Blob 最大 65K。
3、MediumBlob 最大 16M。
4、LongBlob 最大 4G。
實(shí)際使用中根據(jù)需要存入的數(shù)據(jù)大小定義不同的BLOB類型。注意:如存儲(chǔ)的文件過大,數(shù)據(jù)庫(kù)的性能會(huì)下降。
使用ALTER命令修改,格式:\x0d\x0aALTER TABLE 表名 MODIFY COLUMN 字段名 字段類型定義;\x0d\x0a\x0d\x0a例如:\x0d\x0aALTER TABLE chatter_users MODIFY COLUMN ip VARCHAR(50);
Mysql中經(jīng)常用來存儲(chǔ)日期的數(shù)據(jù)類型有三種:Date、Datetime、Timestamp。
Date數(shù)據(jù)類型:用來存儲(chǔ)沒有時(shí)間的日期。Mysql獲取和顯示這個(gè)類型的格式為“YYYY-MM-DD”。支持的時(shí)間范圍為“1000-00-00”到“9999-12-31”。
Datetime類型:存儲(chǔ)既有日期又有時(shí)間的數(shù)據(jù)。存儲(chǔ)和顯示的格式為 “YYYY-MM-DD HH:MM:SS”。支持的時(shí)間范圍是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
Timestamp類型:也是存儲(chǔ)既有日期又有時(shí)間的數(shù)據(jù)。存儲(chǔ)和顯示的格式跟Datetime一樣。支持的時(shí)間范圍是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。
所有不符合上面所述格式的數(shù)據(jù)都會(huì)被轉(zhuǎn)換為相應(yīng)類型的0值。(0000-00-00或者0000-00-00 00:00:00)
分享標(biāo)題:mysql怎么設(shè)置類型 mysql如何更改數(shù)據(jù)類型
文章轉(zhuǎn)載:http://redsoil1982.com.cn/article28/hpddjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站收錄、網(wǎng)站改版、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)