2019-06-19 mysql索引

1. distinct 去重復(fù)?

select sum(單價(jià)*數(shù)量) from (select 牌子,單價(jià),數(shù)量 from 啤酒 union all select 牌子,單價(jià),數(shù)量 from 飲料union all select 牌子,單價(jià),數(shù)量 from 礦泉水);

2.別名

2.1.表別名

SELECT a.tname ,GROUP_CONCAT(d.sname)

FROM teacher AS a

JOIN course AS b

ON a.tno = b.tno

JOIN sc as c

ON b.cno = c.cno

JOIN student AS d

ON c.sno = d.sno

WHERE a.tname='oldguo' AND c.score<60

GROUP BY a.tno;

2.2.列別名

selec count(distinct(name)) as? 個(gè)數(shù)? from? world.city;


--- 統(tǒng)計(jì)一下每個(gè)庫的真實(shí)數(shù)據(jù)量

每張表數(shù)據(jù)量=AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH

SELECT

table_schema,

COUNT(?table_name?),

SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024?AS?ToTAL_MB

FROM?information_schema.TABLES

GROUP?BY?table_schema;



--?information_schema

---?查詢整個(gè)數(shù)據(jù)庫中所有的庫對(duì)應(yīng)的表名

例如:

world???city

world???country

oldboy??oldguo

SELECT?table_schema,table_name

FROM?information_schema.tables;

---?查詢world和school庫下的所有表名

SELECT?table_schema,table_name

FROM?information_schema.tables

WHERE?table_schema='world'

UNION?ALL

SELECT?table_schema,table_name

FROM?information_schema.tables

WHERE?table_schema='school';

---?查詢整個(gè)數(shù)據(jù)庫中所有的庫對(duì)應(yīng)的表名呀酸,每個(gè)庫顯示成一行

SELECT?table_schema,GROUP_CONCAT(table_name)

FROM?information_schema.tables

GROUP?BY??table_schema;

---?統(tǒng)計(jì)一下每個(gè)庫下的表的個(gè)數(shù)

SELECT?table_schema,COUNT(table_name)

FROM?information_schema.tables

GROUP?BY??table_schema;

---?統(tǒng)計(jì)一下每個(gè)庫的真實(shí)數(shù)據(jù)量

每張表數(shù)據(jù)量=AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH

SELECT

SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024?AS?total_mb

FROM?information_schema.TABLES

---?information_schema.tables+CONCAT(),拼接命令

---?使用方法舉例

mysql>?SELECT?CONCAT(USER,"@","'",HOST,"'")?FROM?mysql.user;

---?生產(chǎn)需求1

mysqldump?-uroot?-p123??world?city?>/tmp/world_city.sql

---?模仿以上命令尝丐,對(duì)整個(gè)數(shù)據(jù)庫下的1000張表進(jìn)行單獨(dú)備份控嗜,

---?排除sys,performance喇潘,information_schema

mysqldump?-uroot?-p123??world?city?>/tmp/world_city.sql

SELECT?CONCAT("mysqldump?-uroot?-p123??",table_schema,"?",table_name,"?>/tmp/",table_schema,"_",table_name,".sql")

FROM?information_schema.tables

WHERE?table_schema?NOT?IN('sys','performance','information_schema')

INTO?OUTFILE?'/tmp/

bak.sh';

vim?/etc/my.cnf

secure-file-priv=/tmp

/etc/init.d/mysqld?restart


5.show

show databases; ##查看所有數(shù)據(jù)庫名

show tables;##查看當(dāng)前庫下的表名

show tables from world; ##查看world庫下的表名

show create database啄寡;##查看建庫語句

show create table; ##查看建表語句

show grants for root@‘localhost’哩照; ##查看用戶的權(quán)限信息

show charset挺物;##查看字符集

show collation;##查看校對(duì)規(guī)則

show full processlist飘弧; ##查看數(shù)據(jù)庫連接情況

show status识藤; ##查看數(shù)據(jù)庫的整體情況

show status like '%lock' ##模糊查詢數(shù)據(jù)庫的整體情況

show variables; ##查看數(shù)據(jù)庫的所有變量情況

show variables like ‘innodb’;##查看數(shù)據(jù)庫的所有變量情況

show engine; ##查看所有支持存儲(chǔ)引擎狀態(tài)

show engine innodb status; ##查看所有indodb存儲(chǔ)引擎狀態(tài)情況

show binary logs次伶;##查看二進(jìn)制日志情況

show binlog events in ##查看二進(jìn)制日志事件

show relaylog events in ##查看relay日志事件

show slave status ##查看從庫狀態(tài)

show master status ##查看數(shù)據(jù)庫binlog位置信息

show index from ##查看表的索引情況????


6.索引

6.1 索引的作用

提供了類似于書中目錄的作用痴昧,目的是為了優(yōu)化查詢

6.2 索引的種類算法

B樹索引

Hash索引

R樹

Full text

GIS

6.3 B樹算法普及

B-樹

B+樹


B*樹


6.4 在功能上的分類*****

6.4.1 輔助索引(s)怎么構(gòu)造B樹結(jié)構(gòu)?

1)輔助索引是基于表的列生成的

2)取出索引列的所有值(取出所有鍵值)

3)進(jìn)行所有鍵值的排序

4)將所有鍵值按順序落到Btree索引的葉子節(jié)點(diǎn)上

5)進(jìn)而生成枝節(jié)點(diǎn)和根節(jié)點(diǎn)

6)葉子節(jié)點(diǎn)除了儲(chǔ)存鍵值以外還會(huì)生成指向原表內(nèi)容的指針学少。

6.4.2 聚集索引(c)怎么構(gòu)建B樹結(jié)構(gòu)剪个?

1)一般情況下是主鍵

2)表中進(jìn)行數(shù)據(jù)存儲(chǔ),會(huì)按照ID列的順序版确,有序的存儲(chǔ)一行一行的數(shù)據(jù)到數(shù)據(jù)頁上(這個(gè)動(dòng)作叫聚集組織索引表)

3)表中的數(shù)據(jù)頁被作為聚集索引的葉子節(jié)點(diǎn)

4)把葉子節(jié)點(diǎn)的主鍵值生成上層枝節(jié)點(diǎn)和根節(jié)點(diǎn)扣囊。


6.4.3? 聚集索引和輔助索引構(gòu)成區(qū)別總結(jié)

聚集索引只能有一個(gè),非空唯一绒疗,一般是主鍵

輔助索引可以有多個(gè)侵歇,是配合聚集索引使用的

聚集索引葉子節(jié)點(diǎn),就是磁盤的數(shù)據(jù)行存儲(chǔ)的數(shù)據(jù)頁

mysql是根據(jù)聚集索引吓蘑,組織存儲(chǔ)數(shù)據(jù)惕虑,數(shù)據(jù)存儲(chǔ)時(shí)就是按照聚集索引的順序進(jìn)行存儲(chǔ)數(shù)據(jù)

輔助索引,只會(huì)提取索引鍵值磨镶,進(jìn)行自動(dòng)排序的生成B樹結(jié)構(gòu)

6.5 輔助索引細(xì)分

單列的輔助索引

聯(lián)合多列輔助索引(覆蓋索引)

唯一索引


6.6 關(guān)于索引樹的高度受什么影響溃蔫?

1)數(shù)據(jù)行多

2)索引列字符長度,前綴索引

3)char? varchar 琳猫,表設(shè)計(jì)

4)enum 優(yōu)化索引高度

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伟叛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子脐嫂,更是在濱河造成了極大的恐慌统刮,老刑警劉巖紊遵,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異侥蒙,居然都是意外死亡暗膜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門鞭衩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來学搜,“玉大人,你說我怎么就攤上這事论衍『闼” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵饲齐,是天一觀的道長。 經(jīng)常有香客問我咧最,道長捂人,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任矢沿,我火速辦了婚禮滥搭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捣鲸。我一直安慰自己瑟匆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布栽惶。 她就那樣靜靜地躺著愁溜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪外厂。 梳的紋絲不亂的頭發(fā)上冕象,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音汁蝶,去河邊找鬼渐扮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛掖棉,可吹牛的內(nèi)容都是我干的墓律。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼幔亥,長吁一口氣:“原來是場噩夢啊……” “哼耻讽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起紫谷,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤齐饮,失蹤者是張志新(化名)和其女友劉穎捐寥,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祖驱,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡握恳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捺僻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乡洼。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖匕坯,靈堂內(nèi)的尸體忽然破棺而出束昵,到底是詐尸還是另有隱情,我是刑警寧澤葛峻,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布锹雏,位于F島的核電站,受9級(jí)特大地震影響术奖,放射性物質(zhì)發(fā)生泄漏礁遵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一采记、第九天 我趴在偏房一處隱蔽的房頂上張望佣耐。 院中可真熱鬧,春花似錦唧龄、人聲如沸兼砖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽讽挟。三九已至,卻和暖如春丸冕,著一層夾襖步出監(jiān)牢的瞬間戏挡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國打工晨仑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留褐墅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓洪己,卻偏偏與公主長得像妥凳,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子答捕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361