溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Mysql基礎(chǔ)設(shè)計及優(yōu)化簡單思路

發(fā)布時間:2020-05-15 10:12:00 來源:億速云 閱讀:254 作者:三月 欄目:MySQL數(shù)據(jù)庫

下面一起來了解下Mysql基礎(chǔ)設(shè)計及優(yōu)化簡單思路,相信大家看完肯定會受益匪淺,文字在精不在多,希望Mysql基礎(chǔ)設(shè)計及優(yōu)化簡單思路這篇短內(nèi)容是你想要的。

1、定長和不定長要區(qū)分開

  2、不常用的列和常用的列分開存

  3、增加冗余,反范式化

  4、btree索引,就是用樹形結(jié)構(gòu)存儲在磁盤上,其中操作是用2分發(fā),找一個中間點,然后把大比這個大的分在一邊,小的放在一邊,然后當(dāng)你查詢的時候,從數(shù)字頭開始,大小分開找,這個適合區(qū)間查找,不適合一個一個找

  5、hash索引,就是當(dāng)你存儲在硬盤的數(shù)據(jù),先給你一個地址,然后你下次來找的時候直接用那個地址找到那個值,這個適合一個值的查找,不適合區(qū)間查詢,比如where id=1這種

Mysql基礎(chǔ)設(shè)計及優(yōu)化簡單思路

  6、(1)limit 的優(yōu)化,能用業(yè)務(wù)邏輯解決的就用業(yè)務(wù)邏輯解決(比如百度的搜索只是顯示76頁)

 ?。?)往索引上靠,比如id>1100這種,你用到了id的hash主鍵索引(默認)

 ?。?)inner join

  7、數(shù)據(jù)庫的索引都是以二叉樹進行儲存的,聚簇索引其實就是樹的節(jié)點下面包含了這個節(jié)點的其他數(shù)據(jù)項,但是非聚簇索引只是一個標(biāo)記,然后還要回行到磁盤去找到相應(yīng)的數(shù)據(jù)項值,還要聚簇索引的二級索引只是一種引用,也就是二級索引下面存儲的是一級索引的id,然后二級索引通過id去樹上找到相應(yīng)的數(shù)據(jù)項。

  非聚簇索引比如myisam存儲引擎,索引和數(shù)據(jù)是存在不同的地方。找找到索引然后再找到數(shù)據(jù).

  聚簇索引就是那個存儲數(shù)據(jù)的節(jié)點,及包含索引,然后在索引下面還存有它相應(yīng)的其他數(shù)據(jù)---innodb

  8、索引會占據(jù)很大的磁盤空間,然后數(shù)據(jù)的變更也會操作索引

  9、組合索引的核心思想是左半邊原則,當(dāng)你的最后一個條件產(chǎn)生like這種之后就會導(dǎo)致后面的用不到

  select * from test where id = 1 and name = "aa" and text like "%sss" and desc = "1";

  就會導(dǎo)致你后面的desc就用不到了索引

  10、hash的思想是跳出時間和空間復(fù)雜度,但是它需要一個散列度好的函數(shù),空隙正好,然后還不能沖突

  11、innodb即使你插入的數(shù)據(jù)是亂序的,但是你查出來之后還是整理好的順序,因為它可以按照數(shù)的索引依次返回數(shù)據(jù),這也是聚蔟索引的一個優(yōu)勢

  固態(tài)硬盤支持隨機讀取,而不用像傳統(tǒng)磁盤那樣按照順序轉(zhuǎn)圈的讀取

看完Mysql基礎(chǔ)設(shè)計及優(yōu)化簡單思路這篇文章后,很多讀者朋友肯定會想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI