日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

系统优化怎么做-数据库优化

發(fā)布時(shí)間:2025/3/21 windows 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 系统优化怎么做-数据库优化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

目前大部分公司的數(shù)據(jù)庫(kù)都是MySQL,雖然現(xiàn)在NoSQL數(shù)據(jù)庫(kù)比如mongo, hbase越來(lái)越流行了,但傳統(tǒng)的MySQL依然是業(yè)界用得最多。本文是以MySQL為例。

數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)是唯一在應(yīng)用系統(tǒng)中的單點(diǎn)資源,對(duì)于數(shù)據(jù)庫(kù)的資源的使用要特別小心。有如下幾點(diǎn)注意點(diǎn)

  • 數(shù)據(jù)庫(kù)作為數(shù)據(jù)存儲(chǔ)的地方,不應(yīng)該把寶貴的資源用于數(shù)據(jù)的轉(zhuǎn)換或統(tǒng)計(jì)操作,SQL中不使用一些字符轉(zhuǎn)換等操作。
  • 數(shù)據(jù)庫(kù)連接資源寶貴,外圍系統(tǒng)按需繼續(xù)分配使用
  • 數(shù)據(jù)庫(kù)不怕高qps的小查詢,但害怕慢查詢,因此請(qǐng)消滅慢查詢。
  • 索引不是越多越好,維護(hù)索引資源也耗費(fèi)數(shù)據(jù)庫(kù)運(yùn)算資源
  • 數(shù)據(jù)庫(kù)運(yùn)算能力寶貴程度大于存儲(chǔ)
  • 如果是主從架構(gòu),主機(jī)器與從機(jī)器的網(wǎng)絡(luò)帶寬及穩(wěn)定性要保證
  • 不在數(shù)據(jù)庫(kù)中存儲(chǔ)圖片、文件等大數(shù)據(jù)
  • 禁止在線上做數(shù)據(jù)庫(kù)壓力測(cè)試
  • 禁止從測(cè)試、開(kāi)發(fā)環(huán)境直連線上數(shù)據(jù)庫(kù)
  • 不在業(yè)務(wù)高峰期批量更新、查詢數(shù)據(jù)庫(kù)
  • 不在MySQL數(shù)據(jù)庫(kù)中存放業(yè)務(wù)邏輯,寫(xiě)儲(chǔ)存過(guò)程及觸發(fā)器等
  • 禁止在主庫(kù)上執(zhí)行后臺(tái)管理和統(tǒng)計(jì)報(bào)表類的功能查詢,都放到從庫(kù)
  • 硬件

  • 磁盤(pán)
    MySQL每秒鐘都在進(jìn)行大量、復(fù)雜的查詢操作,對(duì)磁盤(pán)的讀寫(xiě)量可想而知。所以,通常認(rèn)為磁盤(pán)I/O是制約MySQL性能的最大因素之一,推薦使用RAID-0+1磁盤(pán)陣列。
  • CPU
    推薦使用至少4U以上的服務(wù)器來(lái)專門(mén)做數(shù)據(jù)庫(kù)服務(wù)器,基本上是越多越好
  • 內(nèi)存
    服務(wù)器內(nèi)存建議不要小于4GB。基本上是越大越好
    系統(tǒng)配置
    MySQL配置在my.conf,影響新能的幾個(gè)關(guān)鍵配置屬性
    • 使用INNODB存儲(chǔ)引擎 5.5以后的默認(rèn)引擘,支持事務(wù),行級(jí)鎖,更好的恢復(fù)性,高并發(fā)下性能更好,對(duì)多核,大內(nèi)存,ssd等硬件支持更好。
    • 表字符集使用utf8mb4 使用utf8mb4字符集,如果是漢字,占3個(gè)字節(jié),但ASCII碼字符還是1個(gè)字節(jié);統(tǒng)一,不會(huì)有轉(zhuǎn)換產(chǎn)生亂碼風(fēng)險(xiǎn),并能解決符號(hào)表情亂碼問(wèn)題;
    • max_connections 最大連接(用戶)數(shù)
    • innodb_log_file_size 在高寫(xiě)入負(fù)載尤其是大數(shù)據(jù)集的情況下很重要。這個(gè)值越大則性能相對(duì)越高,但是要注意到可能會(huì)增加恢復(fù)時(shí)間。設(shè)置為 64-512MB,根據(jù)服務(wù)器大小而異
    • Innodb_buffer_pool_pages_data 分配出去, 正在被使用頁(yè)的數(shù)量
    • Innodb_buffer_pool_pages_total 緩沖區(qū)總共的頁(yè)面數(shù)
    • Innodb_page_size 編譯的InnoDB頁(yè)大小(默認(rèn)16KB)

    調(diào)優(yōu)參考計(jì)算方法:
    val = Innodb_buffer_pool_pages_data / Innodb_buffer_pool_pages_total * 100%
    val > 95% 則考慮增大 innodb_buffer_pool_size, 建議使用物理內(nèi)存的75%
    val < 95% 則考慮減小 innodb_buffer_pool_size, 建議設(shè)置為:Innodb_buffer_pool_pages_data * Innodb_page_size * 1.05 / (102410241024)

    查看數(shù)據(jù)庫(kù)配置及狀態(tài)
    查詢innodb配置
    show global variables where variable_name like ‘%innodb%’

    查詢線程Cache配置
    show variables like ‘thread_cache_size’;

    查詢連接配置
    show variables like ‘%connect%’;

    查詢當(dāng)前狀態(tài)
    status

    show global status like ‘Thread%’;

    數(shù)據(jù)庫(kù)表結(jié)構(gòu)

    表結(jié)構(gòu)的設(shè)計(jì)目標(biāo)除了滿足業(yè)務(wù)以外,盡量減少代碼實(shí)現(xiàn)上的聯(lián)表查詢操作,因此在設(shè)計(jì)上可以適當(dāng)有一些冗余字段的設(shè)計(jì),減少數(shù)據(jù)庫(kù)IO次數(shù)。
    現(xiàn)在很流行的ElasticSearch等大數(shù)據(jù)存儲(chǔ)寬表的概念也是這種思想的體現(xiàn)

  • 盡量避免使用分區(qū)表 MySQL的分區(qū)表實(shí)際性能不是很好。
  • 拆分大字段和訪問(wèn)頻率低的字段,分離冷熱數(shù)據(jù)
  • 采用合理的分庫(kù)分表策略,推薦使用HASH進(jìn)行分表,表名后綴使用十進(jìn)制數(shù),下標(biāo)從0開(kāi)始首次分表盡量多的分,避免二次分表,二次分表的難度和成本較高
  • 單表字段數(shù)控制在20個(gè)以內(nèi)
  • 一條完整的建表語(yǔ)句中應(yīng)包含必要的字段、主鍵、合理的索引(綜合代碼中所有的條件語(yǔ)句創(chuàng)建合理的索引,主鍵必須要有
    索引設(shè)計(jì)
    索引是一把雙刃劍,它可以提高查詢效率但也會(huì)降低插入和更新的速度并占用磁盤(pán)空間。
  • 單張表中索引數(shù)量不超過(guò)5個(gè)
  • 單個(gè)索引中的字段數(shù)不超過(guò)5個(gè)
  • 對(duì)字符串使用前綴索引,前綴索引長(zhǎng)度不超過(guò)10個(gè)字符;如果有一個(gè)CHAR(200)列,如果在前10個(gè)字符內(nèi),多數(shù)值是惟一的,那么就不要對(duì)整個(gè)列進(jìn)行索引。對(duì)前10個(gè)字符進(jìn)行索引能夠節(jié)省大量索引空間,也可能會(huì)使查詢更快
  • 表必須有主鍵,不使用UUID、MD5、HASH作為主鍵,盡量不選擇字符串列作為主鍵;主鍵建議選擇自增id
  • 創(chuàng)建復(fù)合索引時(shí)區(qū)分度較大的字段放在最前面;不在低區(qū)分度的字段上創(chuàng)建索引,如“性別”
  • 避免冗余或重復(fù)索引
  • 合理創(chuàng)建聯(lián)合索引(避免冗余),index(a、b、c) 相當(dāng)于index(a)、index(a、b)、index(a、、b、c)
  • 索引不是越多越好,按實(shí)際需要進(jìn)行創(chuàng)建
  • 每個(gè)額外的索引都要占用額外的磁盤(pán)空間,并降低寫(xiě)操作的性能
  • 不在索引列進(jìn)行數(shù)學(xué)運(yùn)算和函數(shù)運(yùn)算;
  • 盡量不要使用外鍵 外鍵用來(lái)保護(hù)參照完整性,可在業(yè)務(wù)端實(shí)現(xiàn),對(duì)父表和子表的操作會(huì)相互影響,降低可用性;
  • 不使用%前導(dǎo)的查詢,如like“%xxx”,不使用反向查詢,如not in / not like 無(wú)法使用索引,導(dǎo)致全表掃描 全表掃描導(dǎo)致buffer pool利用降低
  • 字段設(shè)計(jì)

  • 盡可能不要使用TEXT、BLOB類型。刪除這種值會(huì)在數(shù)據(jù)表中留下很大的"空洞",可以考慮把BLOB或TEXT列分離到單獨(dú)的表中
  • 用DECIMAL代替FLOAT和DOUBLE存儲(chǔ)精確浮點(diǎn)數(shù)。浮點(diǎn)數(shù)相對(duì)于定點(diǎn)數(shù)的優(yōu)點(diǎn)是在長(zhǎng)度一定的情況下,浮點(diǎn)數(shù)能夠表示更大的數(shù)據(jù)范圍;浮點(diǎn)數(shù)的缺點(diǎn)是會(huì)引起精度問(wèn)題
  • 將字符轉(zhuǎn)化為數(shù)字
  • 使用TINYINT來(lái)代替ENUM類型
  • 字段長(zhǎng)度盡量按實(shí)際需要進(jìn)行分配,不要隨意分配一個(gè)很大的容量 VARCHAR(N),N表示的是字符數(shù)不是字節(jié)數(shù),比如VARCHAR(255),可以最大可存儲(chǔ)255個(gè)漢字,需要根據(jù)實(shí)際的寬度來(lái)選擇N。VARCHAR(N),N盡可能小,因?yàn)镸ySQL一個(gè)表中所有的VARCHAR字段最大長(zhǎng)度是65535個(gè)字節(jié),進(jìn)行排序和創(chuàng)建臨時(shí)表一類的內(nèi)存操作時(shí),會(huì)使用N的長(zhǎng)度申請(qǐng)內(nèi)存;
  • 如果可能, 所有字段均定義為not null
  • 使用UNSIGNED存儲(chǔ)非負(fù)整數(shù) 同樣的字節(jié)數(shù),存儲(chǔ)的數(shù)值范圍更大。如tinyint有符號(hào)為-128-127,無(wú)符號(hào)為0-255
  • 使用TIMESTAMP存儲(chǔ)時(shí)間. 因?yàn)門(mén)IMESTAMP使用4字節(jié),DATETIME使用8個(gè)字節(jié),同時(shí)TIMESTAMP具有自動(dòng)賦值以及自動(dòng)更新的特性.
  • 使用INT UNSIGNED存儲(chǔ)IPV4
  • 使用VARBINARY存儲(chǔ)大小寫(xiě)敏感的變長(zhǎng)字符串
  • 禁止在數(shù)據(jù)庫(kù)中存儲(chǔ)明文密碼
  • 總結(jié)

    以上是生活随笔為你收集整理的系统优化怎么做-数据库优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91一区二区三区在线 | 18我禁在线观看 | 97香蕉 | 欧美人喂奶吃大乳 | 日韩黄色短视频 | 三级a视频| 在线观看一二区 | 色网视频| 免费黄色网址视频 | 日韩欧美不卡在线 | 成人xxxx | 色视频线观看在线播放 | 色中文字幕 | 今天最新中文字幕mv高清 | 日日碰日日操 | 精品在线视频免费 | 蜜桃久久av | 国产剧情在线一区 | 国产全肉乱妇杂乱视频 | 国产稀缺精品盗摄盗拍 | 国外精品视频 | 国产成人亚洲综合a∨婷婷 台湾a级片 | 中文字幕免费在线视频 | 天天视频国产 | 日本激情一区二区三区 | 日韩午夜精品视频 | 国产99久久久国产精品 | 91在线看黄 | 国产美女精品久久久 | 香蕉伊人网 | 夜夜躁狠狠躁日日躁 | 黄页网站在线播放 | 国产a国产 | 污污网站在线看 | 天天干天天色天天 | 国模私拍av | 撸大师av | 永久黄色网址 | 久久久黄色 | 91精品国产高清91久久久久久 | 国产美女流白浆 | 日韩色小说 | 四虎国产精品永久免费观看视频 | 日日噜噜夜夜狠狠久久波多野 | 久久久久99精品成人片毛片 | 三级伦理视频 | 天天干天天操天天插 | 制服丝袜第一页在线观看 | 久久久久久无码精品人妻一区二区 | 欧美网站在线观看 | 亚洲一区二区三区三州 | 色婷婷成人 | 91caob| 亚洲图片综合网 | 快播在线视频 | 免费成人在线播放 | 曰批免费视频播放免费 | 女人的黄色片 | 欧美aⅴ在线 | 两个人做羞羞的视频 | 五月婷婷丁香激情 | 夫妻毛片| 毛片日本 | 经典杯子蛋糕日剧在线观看免费 | 亚洲免费视频一区 | 四虎影院在线 | 天天干夜夜骑 | 狠狠操操 | 成人夜晚视频 | 亚洲av永久无码精品国产精品 | 成人深夜免费视频 | 仙踪林久久久久久久999 | 老司机深夜福利视频 | 国产高潮视频在线观看 | 波多野吉衣av在线 | 我的好妈妈在线观看 | 对白刺激国产子与伦 | 国产网站在线免费观看 | 人妻精品无码一区二区 | 人人妻人人澡人人爽 | 色久天堂 | 高清国产一区二区三区 | 国产精品久久久久久免费观看 | 色视频网站在线观看 | 中日韩精品视频 | 国产欧美日韩在线观看 | 亚洲无毛 | 日韩污视频在线观看 | 制服丝袜国产精品 | 好色先生视频污 | 青青草原av在线 | 蜜桃导航-精品导航 | 国语久久| 国产一级淫 | 亚洲妇女体内精汇编 | 日韩欧美国产精品 | 久久免费看少妇高潮v片特黄 | 久久加勒比 | 岛国av动作片 |