明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

布爾教育燕108mysql優(yōu)化視頻資料分享

[摘要]目前數(shù)據(jù)庫(kù)是大多數(shù)系統(tǒng)進(jìn)行數(shù)據(jù)存儲(chǔ)的基礎(chǔ)組件,數(shù)據(jù)庫(kù)的效率對(duì)系統(tǒng)的穩(wěn)定和效率有著至關(guān)重要的影響;為了有更好的用戶(hù)體驗(yàn),數(shù)據(jù)庫(kù)的優(yōu)化顯得異常重要。那么我們要從那些方面對(duì)我們的數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化呢?讓我們?cè)?..
目前數(shù)據(jù)庫(kù)是大多數(shù)系統(tǒng)進(jìn)行數(shù)據(jù)存儲(chǔ)的基礎(chǔ)組件,數(shù)據(jù)庫(kù)的效率對(duì)系統(tǒng)的穩(wěn)定和效率有著至關(guān)重要的影響;為了有更好的用戶(hù)體驗(yàn),數(shù)據(jù)庫(kù)的優(yōu)化顯得異常重要。那么我們要從那些方面對(duì)我們的數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化呢?讓我們?cè)凇恫紶柦逃嗍薽ysql優(yōu)化視頻教程》這門(mén)課程中共同探討一起學(xué)習(xí)吧!

58ad032c22946364.jpg

視頻播放地址:http://www.php.cn/course/200.html

本視頻難點(diǎn)在于優(yōu)化查詢(xún)功能,也就是對(duì)索引的使用:

1、選擇索引的數(shù)據(jù)類(lèi)型

MySQL支持很多數(shù)據(jù)類(lèi)型,選擇合適的數(shù)據(jù)類(lèi)型存儲(chǔ)數(shù)據(jù)對(duì)性能有很大的影響。通常來(lái)說(shuō),可以遵循以下一些指導(dǎo)原則:

(1)越小的數(shù)據(jù)類(lèi)型通常更好:越小的數(shù)據(jù)類(lèi)型通常在磁盤(pán)、內(nèi)存和CPU緩存中都需要更少的空間,處理起來(lái)更快。
(2)簡(jiǎn)單的數(shù)據(jù)類(lèi)型更好:整型數(shù)據(jù)比起字符,處理開(kāi)銷(xiāo)更小,因?yàn)樽址谋容^更復(fù)雜。在MySQL中,應(yīng)該用內(nèi)置的日期和時(shí)間數(shù)據(jù)類(lèi)型,而不是用字符串來(lái)存儲(chǔ)時(shí)間;以及用整型數(shù)據(jù)類(lèi)型存儲(chǔ)IP地址。
(3)盡量避免NULL:應(yīng)該指定列為NOT NULL,除非你想存儲(chǔ)NULL。在MySQL中,含有空值的列很難進(jìn)行查詢(xún)優(yōu)化,因?yàn)樗鼈兪沟盟饕、索引的統(tǒng)計(jì)信息以及比較運(yùn)算更加復(fù)雜。你應(yīng)該用0、一個(gè)特殊的值或者一個(gè)空串代替空值。

1.1、選擇標(biāo)識(shí)符
選擇合適的標(biāo)識(shí)符是非常重要的。選擇時(shí)不僅應(yīng)該考慮存儲(chǔ)類(lèi)型,而且應(yīng)該考慮MySQL是怎樣進(jìn)行運(yùn)算和比較的。一旦選定數(shù)據(jù)類(lèi)型,應(yīng)該保證所有相關(guān)的表都使用相同的數(shù)據(jù)類(lèi)型。
(1) 整型:通常是作為標(biāo)識(shí)符的最好選擇,因?yàn)榭梢愿斓奶幚,而且可以設(shè)置為AUTO_INCREMENT。

(2) 字符串:盡量避免使用字符串作為標(biāo)識(shí)符,它們消耗更好的空間,處理起來(lái)也較慢。而且,通常來(lái)說(shuō),字符串都是隨機(jī)的,所以它們?cè)谒饕械奈恢靡彩请S機(jī)的,這會(huì)導(dǎo)致頁(yè)面分裂、隨機(jī)訪問(wèn)磁盤(pán),聚簇索引分裂(對(duì)于使用聚簇索引的存儲(chǔ)引擎)。

2、索引入門(mén)
對(duì)于任何DBMS,索引都是進(jìn)行優(yōu)化的最主要的因素。對(duì)于少量的數(shù)據(jù),沒(méi)有合適的索引影響不是很大,但是,當(dāng)隨著數(shù)據(jù)量的增加,性能會(huì)急劇下降。
如果對(duì)多列進(jìn)行索引(組合索引),列的順序非常重要,MySQL僅能對(duì)索引最左邊的前綴進(jìn)行有效的查找。例如:
假設(shè)存在組合索引it1c1c2(c1,c2),查詢(xún)語(yǔ)句select * from t1 where c1=1 and c2=2能夠使用該索引。查詢(xún)語(yǔ)句select * from t1 where c1=1也能夠使用該索引。但是,查詢(xún)語(yǔ)句select * from t1 where c2=2不能夠使用該索引,因?yàn)闆](méi)有組合索引的引導(dǎo)列,即,要想使用c2列進(jìn)行查找,必需出現(xiàn)c1等于某值。

本課程講師是傳智播客著名講師劉道成,可能說(shuō)劉道成你們不知道,但是說(shuō)到燕十八你們肯定了解,劉道成就是燕十八。他的講課風(fēng)格風(fēng)趣幽默,課堂氛圍很好,可以很好的調(diào)動(dòng)學(xué)生們上課時(shí)的積極性,能讓大家有個(gè)輕松的學(xué)習(xí)氛圍。另外,他講課重點(diǎn)突出,讓你知道學(xué)習(xí)的重點(diǎn)在哪里,回去著重學(xué)習(xí)。學(xué)習(xí)的難點(diǎn)也會(huì)講的非常詳細(xì),盡量做到每個(gè)人都可以聽(tīng)得明白。

以上就是布爾教育燕十八mysql優(yōu)化視頻資料分享的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。