2022-07-22 分類: 網(wǎng)站建設(shè)
通過索引排序進(jìn)行優(yōu)化,以減少排序中涉及的記錄數(shù)量,并且不要對數(shù)據(jù)進(jìn)行不必要的排序。
數(shù)據(jù)庫設(shè)計應(yīng)該滿足三個范例:
第一范式:
1.通過拆分形成的表必須通過外鍵進(jìn)行關(guān)聯(lián)。 2.只要數(shù)據(jù)列中的內(nèi)容是重復(fù)的,就意味著該表應(yīng)該被拆分成多個表。
第二個范例:
必須為每組相關(guān)數(shù)據(jù)創(chuàng)建一個表?!?.必須消除內(nèi)容相似的數(shù)據(jù)列(消除它們的方法是創(chuàng)建另一個數(shù)據(jù)表來存儲它們并建立關(guān)系)3.每個數(shù)據(jù)記錄都必須用主鍵標(biāo)記。
第三個范例: 必須消除與主鍵沒有直接關(guān)系的數(shù)據(jù)列(消除它們的方法是創(chuàng)建另一個表來存儲它們。
一、sql語句的優(yōu)化
1.盡量少加入
MySQL的優(yōu)勢在于簡單,但也是它在某些方面的劣勢。MySQL優(yōu)化器效率較高,但由于統(tǒng)計信息量有限,優(yōu)化器工作過程中出現(xiàn)偏差的可能性更大。對于復(fù)雜的多表Join,一方面是因為它的優(yōu)化器有限,另一方面是Join中的努力還不夠,所以性能還是和Oracle等關(guān)系數(shù)據(jù)庫前輩相差甚遠(yuǎn)。但是,如果是簡單的單表查詢,這種差距會非常小,甚至在某些場景下比這些數(shù)據(jù)庫前輩還要好。
2.試著做一點計算。Mysql的功能是訪問數(shù)據(jù),而不是做計算。如果你做計算,你可以用其他方法來實現(xiàn)它。mysql非常耗費資源。
二、配置優(yōu)化
的配置優(yōu)化實際上包括兩個方面:操作系統(tǒng)內(nèi)核的優(yōu)化和mysql配置文件的優(yōu)化。
1.mysql配置優(yōu)化,一般來說包括:IO處理的常用參數(shù)、大連接數(shù)的設(shè)置、緩存使用參數(shù)的設(shè)置、慢日志參數(shù)的設(shè)置、innodb相關(guān)參數(shù)的設(shè)置等。如果存在主從關(guān)系,可以設(shè)置主從同步的相關(guān)參數(shù)。網(wǎng)上有很多相關(guān)的配置文件,都差不多,修改大部分常用設(shè)置就差不多了。2.系統(tǒng)內(nèi)核的優(yōu)化無非是內(nèi)存效用、連接數(shù)、超時處理、TCP處理等的優(yōu)化。對于專用的mysql服務(wù)器,是根據(jù)自身的硬件配置進(jìn)行優(yōu)化的,這里就不討論了。3.盡可能少排序:排序會消耗更多的CPU資源,因此在緩存命中率高、IO容量充足的場景下,減少排序會極大地影響SQL的響應(yīng)時間。
本文標(biāo)題:成都網(wǎng)站優(yōu)化數(shù)據(jù)庫性能優(yōu)化
本文來源:http://jinyejixie.com/news10/181460.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、用戶體驗、網(wǎng)站策劃、靜態(tài)網(wǎng)站、ChatGPT、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容