2020-02-26 索引學(xué)習(xí)

navicat?連不上虛擬機數(shù)據(jù)庫的常見原因防火墻沒有關(guān)閉

查看防火墻狀態(tài):?systemctl status firewalld.service

綠的running表示防火墻開啟

執(zhí)行關(guān)閉命令:?systemctl stop firewalld.service

再次執(zhí)行查看防火墻命令:systemctl status firewalld.service

執(zhí)行開機禁用防火墻自啟命令? :?systemctl disable firewalld.service

完成

1. 索引作用

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

2. 索引的種類(算法)

B樹索引

Hash索引

R樹

Full text

GIS

聚集索引

MySQL自己生成的;聚集索引的葉子節(jié)點存的整行數(shù)據(jù)治唤,只能有一個


輔助索引

葉子節(jié)點應(yīng)該存的是id 再去調(diào)聚集索引虽风,可以有多個萤彩;

單列輔助索引

聯(lián)合索引(覆蓋索引)比較重要

唯一索引


索引的命令操作

查詢索引

pri? ? 主鍵索引

MUL? 輔助索引

UNI? 唯一索引

創(chuàng)建索引

alter table `2-27` add index idx_name(SKUID);

唯一索引

mysql>alter table `2-27` add unique index_uid(SSUID);

ERROR 1062 (23000): Duplicate entry '3679998' for key 'index_uid'

聯(lián)合索引

mysql>alter table `2-27` add index idx_SS(SKUID,SSUID);

前綴索引

alter table city add index idx_dis(district(5));

7.3刪除索引

alter table `2-27` drop index idx_name;

展示索引

show index from `2-27`;

壓力測試

未優(yōu)化前的測試? 測試代碼如下:

mysqlslap --defaults-file=/etc/my.cnf --concurrency=100 --iterations=1 --create-schema='city' --query="select * from city.nine where SKUID='10952'" engine=innodb --number-of-queries=2000 -uroot -p123 -verbose


執(zhí)行計劃獲取及分析

(1)獲取到的是優(yōu)化器選擇完成的,他認(rèn)為代價最小的執(zhí)行計劃.作用:語句執(zhí)行前,先看執(zhí)行計劃信息,可以有效的防止性能較差的語句帶來的性能問題.如果業(yè)務(wù)中出現(xiàn)了慢語句淆党,我們也需要借助此命令進行語句的評估,分析優(yōu)化方案。(2)select獲取數(shù)據(jù)的方法1.全表掃描(應(yīng)當(dāng)盡量避免,因為性能低)2.索引掃描3.獲取不到數(shù)據(jù)

執(zhí)行計劃獲取

desc select * from city.nine where SKUID='10952';

+----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows? | filtered | Extra? ? ? |

+----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+

|? 1 | SIMPLE? ? ? | nine? | NULL? ? ? | ALL? | NULL? ? ? ? ? | NULL | NULL? ? | NULL | 918678 |? ? 10.00 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+

table: city ---->查詢操作的表 **

possible_keys: CountryCode,idx_co_po? ? ? ---->可能會走的索引? **

key: CountryCode? ---->真正走的索引? ? ***

type: ref? ---->索引類型? ? ? ? *****

Extra: Using index condition? ? ? ? ? ? ? ---->額外信息? ? ? ? *****

從左到右性能依次變好.

ALL:

全表掃描,不走索引

索引掃描:?index <range <ref <eq_ref < const(system)? <null

例子:1.查詢條件列,沒有索引SELECT*FROMt_100wWHEREk2='780P';

2.查詢條件出現(xiàn)以下語句(輔助索引列)

USEworldDESCcity;DESCSELECT*FROMcityWHEREcountrycode<>'CHN';

DESCSELECT*FROMcityWHEREcountrycodeNOTIN('CHN','USA');DESCSELECT*FROMcityWHEREcountrycodeLIKE'%CH%';

注意:對于聚集索引列,使用以上語句,依然會走索引DESCSELECT*FROMcityWHEREid<>10;

修改字段名

alter table ten change 序號 id int;

修改字段屬性

alter table ten modify 序號 int not null primary key;

index:全索引掃描

mysql>desc select * from ten;

+----+-------------+-------+------------+------+---------------+------+---------+------+-------+----------+-------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows? | filtered | Extra |

+----+-------------+-------+------------+------+---------------+------+---------+------+-------+----------+-------+

|? 1 | SIMPLE? ? ? | ten? | NULL? ? ? | ALL? | NULL? ? ? ? ? | NULL | NULL? ? | NULL | 30835 |? 100.00 | NULL? |

+----+-------------+-------+------------+------+---------------+------+---------+------+-------+----------+-------+

1 row in set, 1 warning (0.00 sec)

mysql>desc select id from ten;

+----+-------------+-------+------------+-------+---------------+---------+---------+------+-------+----------+-------------+

| id | select_type | table | partitions | type? | possible_keys | key? ? | key_len | ref? | rows? | filtered | Extra? ? ? |

+----+-------------+-------+------------+-------+---------------+---------+---------+------+-------+----------+-------------+

|? 1 | SIMPLE? ? ? | ten? | NULL? ? ? | index | NULL? ? ? ? ? | PRIMARY | 4? ? ? | NULL | 30835 |? 100.00 | Using index |

+----+-------------+-------+------------+-------+---------------+---------+---------+------+-------+----------+-------------+

range:索引范圍掃描? <> = and between or like? 性能比較好的是> <

mysql>desc select * from ten where id>200;

+----+-------------+-------+------------+-------+---------------+---------+---------+------+-------+----------+-------------+

| id | select_type | table | partitions | type? | possible_keys | key? ? | key_len | ref? | rows? | filtered | Extra? ? ? |

+----+-------------+-------+------------+-------+---------------+---------+---------+------+-------+----------+-------------+

|? 1 | SIMPLE? ? ? | ten? | NULL? ? ? | range | PRIMARY? ? ? | PRIMARY | 4? ? ? | NULL | 15417 |? 100.00 | Using where |

+----+-------------+-------+------------+-------+---------------+---------+---------+------+-------+----------+-------------+

最好把or改成union

ref? 輔助索引等值查詢

desc select? * from ten where SKUID= '1452256'

eq_ref :多表連接時,子表使用主鍵列或者唯一列作為連接條件:

A?join B

on a.x = B.y

const(system):主鍵和唯一鍵

壓力測試結(jié)果:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末趣惠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子身害,更是在濱河造成了極大的恐慌味悄,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塌鸯,死亡現(xiàn)場離奇詭異侍瑟,居然都是意外死亡,警方通過查閱死者的電腦和手機丙猬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門涨颜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茧球,你說我怎么就攤上這事庭瑰。” “怎么了抢埋?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵弹灭,是天一觀的道長督暂。 經(jīng)常有香客問我,道長穷吮,這世上最難降的妖魔是什么逻翁? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮酒来,結(jié)果婚禮上卢未,老公的妹妹穿的比我還像新娘。我一直安慰自己堰汉,他們只是感情好辽社,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著翘鸭,像睡著了一般滴铅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上就乓,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天汉匙,我揣著相機與錄音,去河邊找鬼生蚁。 笑死噩翠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的邦投。 我是一名探鬼主播伤锚,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼志衣!你這毒婦竟也來了屯援?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤念脯,失蹤者是張志新(化名)和其女友劉穎狞洋,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绿店,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡吉懊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惯吕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惕它。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖废登,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情郁惜,我是刑警寧澤堡距,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布甲锡,位于F島的核電站,受9級特大地震影響羽戒,放射性物質(zhì)發(fā)生泄漏缤沦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一易稠、第九天 我趴在偏房一處隱蔽的房頂上張望缸废。 院中可真熱鬧,春花似錦驶社、人聲如沸企量。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽届巩。三九已至奇唤,卻和暖如春丧失,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背厅克。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工或辖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瘾英,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓颂暇,卻偏偏與公主長得像缺谴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蟀架,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容