mysql 层级 统计_MySQL系列(7)
我是誰(shuí)?鬼斯通
79.存儲(chǔ)過(guò)程聲明變量
聲明變量、修改變量、分配變量
變量范圍:只在定義之內(nèi)能使用,begin和end之間。
80.存儲(chǔ)過(guò)程參數(shù)傳遞
in、out、inout
根據(jù)傳入名稱,獲取對(duì)應(yīng)信息,in:傳入?yún)?shù)
給一個(gè)名稱獲得信息out:輸出
81.存儲(chǔ)過(guò)程inout參數(shù)
存儲(chǔ)過(guò)程有點(diǎn)像定義一個(gè)函數(shù),in是輸入,out是輸出,inout即是輸入也是輸出
82.自定義函數(shù)
自定義函數(shù):隨機(jī)生成一個(gè)指定個(gè)數(shù)的字符串
83.存儲(chǔ)過(guò)程構(gòu)建千萬(wàn)條數(shù)據(jù)
84.什么是索引
數(shù)據(jù)很多時(shí),查詢也會(huì)很花費(fèi)時(shí)間。就算查單條數(shù)據(jù)依然會(huì)比較慢
索引:快速找出某個(gè)列中特定值的行,相當(dāng)于是目錄,不適用索引的話,mysql必須從第一條記錄開(kāi)始讀取整個(gè)表。加速!
優(yōu)劣勢(shì):提高檢索效率,索引是一張表,所以占用空間,犧牲空間換取時(shí)間,更新速度會(huì)降低。
索引的分類:單值索引、唯一索引、復(fù)合索引、全文索引、空間索引
85.添加索引
創(chuàng)建索引:create index salary_index on emp(salary);
刪除所索引:drop index 索引名稱 on 表名;
查看索引:show index from 表名;
explain:查看索引是否正在被使用,并且輸出其使用的索引信息。
有了索引之后再進(jìn)行查詢,會(huì)很快就出現(xiàn)
設(shè)置主鍵后,key_len變成了4
86.索引方法BTree與Hash
對(duì)id做了索引,根據(jù)id查找會(huì)很快,但如果根據(jù)其他的列進(jìn)行查詢依然會(huì)很慢。
innodb只能用BTree方法。
BTree:一個(gè)平衡的多叉樹(shù),從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的高度差值不超過(guò)1,而且同層級(jí)的節(jié)點(diǎn)間有指針相互鏈接
hash索引:采用哈希算法,檢索時(shí)只需要一次哈希算法即可立刻定位相應(yīng)位置,速度非常快。
87.索引的創(chuàng)建選擇
需要?jiǎng)?chuàng)建索引的情況:主鍵自動(dòng)建立唯一索引;頻繁作為查詢條件的字段;查詢中與其他表關(guān)聯(lián)的字段;頻繁更新的字段不適合創(chuàng)建索引;where條件里用不到的字段不創(chuàng)建索引;查詢中排序的字段;查詢中統(tǒng)計(jì)或分組的字段。
不需要?jiǎng)?chuàng)建索引的情況:表記錄太少;經(jīng)常增刪改的表;如果某個(gè)數(shù)據(jù)列包含許多重復(fù)內(nèi)容,為它創(chuàng)建索引就沒(méi)有太大實(shí)際效果。
88.MySQL課程總結(jié)及后續(xù)計(jì)劃
使用python或其他語(yǔ)言連接數(shù)據(jù)庫(kù)
總結(jié)
以上是生活随笔為你收集整理的mysql 层级 统计_MySQL系列(7)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python标识符和关键字_Python
- 下一篇: linux cmake编译源码,linu