黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > MySQL庫表結(jié)構(gòu)優(yōu)化

MySQL庫表結(jié)構(gòu)優(yōu)化

來源:千鋒教育
發(fā)布人:zyh
時間: 2023-06-12 13:45:00 1686548700

  全文大約【2083】字,不說廢話,只講可以讓你學(xué)到技術(shù)、明白原理的純干貨!本文帶有豐富案例及配圖視頻,讓你更好的理解和運(yùn)用文中的技術(shù)概念,并可以給你帶來具有足夠啟迪的思考......

  一. 數(shù)據(jù)庫結(jié)構(gòu)優(yōu)化

  數(shù)據(jù)庫的庫表結(jié)構(gòu)優(yōu)化包含很多內(nèi)容,例如:字段類型優(yōu)化、垂直分表、水平分表、表分區(qū)、分庫等內(nèi)容。下面小編就帶各位小伙伴一起分析下具體內(nèi)容。

  1.字段類型優(yōu)化

  字段類型優(yōu)化的目的是將字段類型設(shè)置的更合理一些,小編總結(jié)的規(guī)則如下:

  ● 盡量將表字段定義為NOT NULL約束,這時由于在MySQL中含有空值的列很難進(jìn)行查詢優(yōu)化,NULL值會使索引以及索引的統(tǒng)計信息變得很復(fù)雜。

MySQL庫表結(jié)構(gòu)優(yōu)化

  ● 對于只包含特定類型的字段,可以使用enum、set 等數(shù)據(jù)類型。

  ● 數(shù)值型字段的比較比字符串的比較效率高得多,字段類型盡量使用最小、最簡單的數(shù)據(jù)類型。例如IP地址可以使用int類型。

  ● 盡量使用TINYINT、SMALLINT、MEDIUM_INT作為整數(shù)類型而非INT,如果非負(fù)則加上UNSIGNED。但對整數(shù)類型指定寬度,比如INT(11),沒有任何用,因?yàn)橹付ǖ念愋蜆?biāo)識范圍已經(jīng)確定。

  ● VARCHAR的長度只分配真正需要的空間。

  ● 盡量使用TIMESTAMP而非DATETIME,但TIMESTAMP只能表示1970 - 2038年,比DATETIME表示的范圍小得多,而且TIMESTAMP的值因時區(qū)不同而不同。

  ● 單表不要有太多字段,建議在20以內(nèi)。

  ● 合理的加入冗余字段可以提高查詢速度。

  2.垂直拆分表(垂直切割)

  垂直拆分按照字段進(jìn)行拆分,其實(shí)就是把組成一行的多個列分開放到不同的表中,這些表具有不同的結(jié)構(gòu),拆分后的表具有更少的列。例如用戶表中的一些字段可能經(jīng)常訪問,可以把這些字段放進(jìn)一張表里。另外一些不經(jīng)常使用的信息就可以放進(jìn)另外一張表里。

  插入的時候使用事務(wù),也可以保證兩表的數(shù)據(jù)一致。缺點(diǎn)也很明顯,由于拆分出來的兩張表存在一對一的關(guān)系,需要使用冗余字段,而且需要join操作。但是我們可以在使用的時候可以分別取兩次,這樣的來說既可以避免join操作,又可以提高效率。

  2.1 拆分時機(jī):

  單表字段過多, 并且不需要一次性查詢返回展示到一個頁面上。

  2.2 拆分方法:

  一個頁面需要展示的數(shù)據(jù)字段, 盡量放在一張表中. 如果拆分成多個表, 那么這多個表的關(guān)系是1:1:1:1......的關(guān)系。

  2.3 優(yōu)點(diǎn) :

  拆分后查詢單表性能得到提升, 速度快。

  2.4 缺點(diǎn):

  如果拆分后, 需要查詢跨多張表的數(shù)據(jù)就會用到j(luò)oin連接查詢, 查詢速度會比沒拆分前慢。

  3.水平拆分表(水平切割)

  水平拆分按照行進(jìn)行拆分,常見的就是分庫分表。以用戶表為例,可以取用戶ID,然后對ID取10的余數(shù),將用戶均勻的分配進(jìn)這 0-9這10個表中。查找的時候也按照這種規(guī)則,又快又方便。

  有些表業(yè)務(wù)關(guān)聯(lián)比較強(qiáng),那么可以使用按時間劃分的。例如每天的數(shù)據(jù)量很大,需要每天新建一張表。這種業(yè)務(wù)類型就是需要高速插入,但是對于查詢的效率不太關(guān)心。表越大,插入數(shù)據(jù)所需要索引維護(hù)的時間也就越長。

  3.1 拆分時機(jī):

  MySQL單表大于500萬條數(shù)據(jù), 就需要考慮水平分表, 因?yàn)閱伪頂?shù)據(jù)量越大查詢越慢, 查詢效率成指數(shù)級下降。

  3.2 拆分方法:

  根據(jù)業(yè)務(wù)拆分:

  根據(jù)時間范圍拆分, 例如: 訂單數(shù)據(jù), 按照訂單創(chuàng)建時間, 一個月一張表。

  按照區(qū)間分為拆分, 例如: 按照表自增id, 1-300萬條一張表。

MySQL庫表結(jié)構(gòu)優(yōu)化

  按照業(yè)務(wù)分類拆分, 例如: 用戶表按照男女拆分。

  hash分表:

  通過一個原始目標(biāo)的ID或者名稱通過一定的hash算法計算出數(shù)據(jù)存儲表的表名,然后訪問相應(yīng)的表。普通hash算法和一致性hash算法均可。

  一般企業(yè)利用工具來做水平分表:

  服務(wù)端分庫分表: MyCat, corbar等。

  客戶端分庫分表: shardingJDBC, ShardingSphere等。

  3.3 優(yōu)點(diǎn):

  提高了查詢效率, 主要是在大量數(shù)據(jù)情況, 提高了查詢的命中率。

  3.4 缺點(diǎn):

  提高了復(fù)雜度. 在數(shù)據(jù)量不大的情況, 水平分表體現(xiàn)不出好處。

  4.表分區(qū)

  4.1 目的:

  表分區(qū)小編給大家簡明扼要的說就是大量數(shù)據(jù)操作, 會有磁盤IO跟不上的情況, 所以表分區(qū), 就是將保存在硬盤上的數(shù)據(jù)文件放到一塊或者多快硬盤上, 以提高數(shù)據(jù)庫的IO性能。

  分區(qū)適用于例如日志記錄,查詢少。一般用于后臺的數(shù)據(jù)報表分析。對于這些數(shù)據(jù)匯總需求,需要很多日志表去做數(shù)據(jù)聚合,我們能夠容忍1s到2s的延遲,只要數(shù)據(jù)準(zhǔn)確能夠滿足需求就可以。

  MySQL主要支持4種模式的分區(qū):Range分區(qū)、List預(yù)定義列表分區(qū),Hash 分區(qū),Key鍵值分區(qū)。

  4.2 錄入使用key鍵值分區(qū)

  小編舉個栗子:

CREATE TABLE `test2` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(100) DEFAULT NULL COMMENT '名稱',
`state` int(1) DEFAULT NULL COMMENT '狀態(tài)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY KEY (id)
PARTITIONS 10;

 

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
PUE是什么?

一、PUE是什么PUE,即功耗比(Power Usage Effectiveness),是數(shù)據(jù)中心的能源效率指標(biāo)。它是數(shù)據(jù)中心總功耗與設(shè)備功耗的比值,用于評估數(shù)據(jù)中...詳情>>

2023-10-15 07:13:07
graph cut和graph cuts有什么區(qū)別?

1.語境不同graph cut”通常在描述一個操作時使用,比如”perform a graph cut”,它指的是在圖中找到一個切割,將圖劃分為兩個...詳情>>

2023-10-15 07:02:16
什么是雙機(jī)熱備?

一、雙機(jī)熱備的原理雙機(jī)熱備是指在系統(tǒng)中配置兩臺服務(wù)器(主服務(wù)器和備份服務(wù)器),兩者通過高速網(wǎng)絡(luò)連接進(jìn)行實(shí)時數(shù)據(jù)同步和狀態(tài)同步。主服務(wù)器...詳情>>

2023-10-15 06:37:02
偏最小二乘支持向量機(jī)和支持向量機(jī)回歸的區(qū)別是什么?

1.模型構(gòu)建的理論基礎(chǔ)不同支持向量機(jī)回歸(SVR)基于統(tǒng)計學(xué)習(xí)理論,其主要思想是找到一個超平面,使得大部分?jǐn)?shù)據(jù)點(diǎn)都在這個超平面的一定范圍內(nèi),...詳情>>

2023-10-15 06:30:45
VAE、GAN和transformer有什么區(qū)別?

1.模型結(jié)構(gòu)不同VAE(變分自編碼器)是一種生成模型,其基于概率圖模型和自編碼器,能夠?qū)W習(xí)數(shù)據(jù)的潛在分布。GAN(生成對抗網(wǎng)絡(luò))同樣是一種生成...詳情>>

2023-10-15 06:10:12
精品毛片视频| 欧美另类videosbestsex视频| 可以免费看污视频的网站| 成人影院一区二区三区| 国产伦精品一区二区三区无广告| 香蕉视频亚洲一级| 国产伦久视频免费观看 视频| 亚洲 激情| 九九精品在线| 国产一区二区精品久久| 欧美日本免费| 亚欧乱色一区二区三区| 韩国毛片免费| 精品国产香蕉在线播出| 亚洲天堂免费观看| 欧美一级视频免费| 久久99中文字幕久久| 国产成a人片在线观看视频| 精品视频在线观看一区二区三区| 青青久在线视频| 欧美激情一区二区三区视频 | 精品久久久久久中文字幕一区| 一 级 黄 中国色 片| 精品视频在线看 | 亚飞与亚基在线观看| 欧美激情一区二区三区中文字幕| 一级毛片视频播放| 日本免费乱理伦片在线观看2018| 九九久久国产精品大片| 精品在线视频播放| 九九干| 亚洲天堂在线播放| 四虎影视库国产精品一区| 国产美女在线一区二区三区| 成人影院一区二区三区| 午夜欧美成人香蕉剧场| 青青青草影院| 亚洲精品久久久中文字| 天天做日日爱| 久久精品道一区二区三区| 夜夜操天天爽| 日韩一级黄色大片| 999精品影视在线观看| 免费一级片在线| 久久精品大片| 国产成人精品综合久久久| 四虎久久影院| 欧美大片毛片aaa免费看| 欧美国产日韩在线| 国产成人女人在线视频观看| 精品国产一区二区三区久久久狼| 黄色免费三级| 色综合久久手机在线| 国产视频一区二区在线观看 | 国产成人精品综合久久久| 国产不卡高清在线观看视频 | 国产视频一区在线| 欧美一级视| 色综合久久天天综合绕观看| 国产不卡精品一区二区三区| 欧美a免费| 韩国毛片| 亚洲精品中文字幕久久久久久| 九九精品影院| 精品国产一级毛片| 国产视频一区二区在线观看| 青青久在线视频| 国产一区二区精品久久91| 高清一级片| 美女免费黄网站| 天天做人人爱夜夜爽2020毛片| 免费国产在线视频| 日韩综合| 日韩欧美一及在线播放| 色综合久久天天综合观看| 色综合久久天天综合| 久久精品店| 欧美另类videosbestsex久久| 精品在线观看国产| 国产韩国精品一区二区三区| 欧美一级视| 久久国产影院| 日韩中文字幕一区| 日韩在线观看视频免费| 亚洲第一色在线| 九九久久99| 精品视频在线观看一区二区三区| 精品国产一区二区三区精东影业| 成人高清视频在线观看| 999精品视频在线| 成人免费观看视频| 色综合久久天天综合观看| 久久精品大片| 九九久久国产精品大片| 国产伦理精品| 高清一级毛片一本到免费观看| 韩国三级香港三级日本三级la | 久久99中文字幕| 高清一级做a爱过程不卡视频| 999久久狠狠免费精品| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 一本高清在线| 超级乱淫黄漫画免费| 久久精品道一区二区三区| 日日爽天天| 国产福利免费观看| 日韩专区在线播放| 免费国产在线观看不卡| 国产精品免费精品自在线观看| 亚洲精品中文字幕久久久久久| 日韩在线观看视频网站| 午夜在线亚洲| 台湾毛片| 91麻豆精品国产片在线观看| 国产91精品一区| 日韩专区第一页| 日韩女人做爰大片| 亚洲 国产精品 日韩| 成人免费高清视频| 国产麻豆精品hdvideoss| 日韩在线观看视频黄| 麻豆系列 在线视频| 欧美一区二区三区在线观看| 日韩免费在线| 日韩在线观看免费| 91麻豆精品国产自产在线| 午夜在线亚洲| 99热精品在线| 国产成人欧美一区二区三区的| 日韩免费在线观看视频| 国产成人啪精品| 91麻豆精品国产高清在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产亚洲男人的天堂在线观看| 国产a视频精品免费观看| 精品久久久久久中文| 美女免费精品视频在线观看| 精品国产一级毛片| 超级乱淫黄漫画免费| 九九干| 黄色福利| 四虎影视久久| 国产一区二区精品久久| 日本在线www| 国产精品123| 久久国产精品只做精品| 免费的黄视频| 精品视频在线观看免费| 午夜家庭影院| 日本特黄一级| 香蕉视频久久| 国产国语对白一级毛片| 高清一级做a爱过程不卡视频| 色综合久久天天综合| 成人免费观看视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲天堂免费| 999久久狠狠免费精品| 久久福利影视| 99色视频| 色综合久久天天综线观看 | 国产成+人+综合+亚洲不卡| 欧美日本二区| 国产成人啪精品| 精品国产一区二区三区国产馆| 美女免费毛片| 999久久久免费精品国产牛牛| 国产成人精品影视| 精品久久久久久免费影院| 欧美另类videosbestsex久久| 黄色免费网站在线| 精品视频在线观看一区二区三区| 天堂网中文在线| 日本特黄一级| 青青久久精品| 国产视频在线免费观看| 国产视频一区在线| 精品国产一区二区三区精东影业| 黄色短视频网站| 免费国产在线视频| 中文字幕一区二区三区 精品| 91麻豆国产福利精品| 国产视频在线免费观看| 日韩免费在线| 久久精品免视看国产明星| 在线观看成人网 | 午夜欧美成人久久久久久| 欧美国产日韩在线| 天天做日日干| 999久久狠狠免费精品| 亚洲女人国产香蕉久久精品| 欧美国产日韩一区二区三区| 成人高清视频免费观看| 色综合久久天天综合绕观看| 日韩综合| 亚洲第一页色| 免费国产在线视频| 久久精品人人做人人爽97| 久久精品免视看国产成人2021| 久久精品道一区二区三区|