mysql SHOW INDEX FROM mydb.mytable;SHOW KEYS是SHOW INDEX的同義詞。您也可以使用mysqlshow -k db_name tbl_name命令列舉一個(gè)表的索引。SHOW INNODB STATUS語法 SHOW INNODB STATUS SHOW INDEX會(huì)返回表索引信息。
成都創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站制作、網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)的建站公司,成都創(chuàng)新互聯(lián)依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、全網(wǎng)整合營銷推廣及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
查看表是否被鎖:(1)直接在mysql命令行執(zhí)行:showengineinnodbstatus\G。(2)查看造成死鎖的sql語句,分析索引情況,然后優(yōu)化sql。(3)然后showprocesslist,查看造成死鎖占用時(shí)間長的sql語句。
根據(jù)表名,查詢一張表的索引:select * from user_indexes where table_name=upper(表名)。根據(jù)索引號(hào),查詢表索引字段:select * from user_ind_columns where index_name=(索引名)。
查看索引 mysql show index from tblname;mysql show keys from tblname;· Table 表的名稱?!?Non_unique 如果索引不能包括重復(fù)詞,則為0。如果可以,則為1?!?Key_name 索引的名稱。
possible_keys:顯示可能應(yīng)用在這張表中的索引。如果為空,沒有可能的索引??梢詾橄嚓P(guān)的域從WHERE語句中選擇一個(gè)合適的語句 key: 實(shí)際使用的索引。如果為NULL,則沒有使用索引。很少的情況下,MYSQL會(huì)選擇優(yōu)化不足的索引。
條件中有or,索引不會(huì)生效 a and c,a生效,c不生效 b and c,都不生效 a and b 5 and c,a和b生效,c不生效。
實(shí)際使用的索引。如果為NULL,則沒有使用索引。很少的情況下,MYSQL會(huì)選擇優(yōu)化不足的索引。
剛開始,數(shù)據(jù)不多的時(shí)候,執(zhí)行效果還不錯(cuò)。隨著數(shù)據(jù)量的增加,這個(gè)查詢,執(zhí)行起來,越來越慢了。然后在 name 上面 建立了索引 CREATE INDEX idx_test4_name ON test_tab (name );這樣, 可以加快前面那個(gè)查詢的速度。
const:表中的一個(gè)記錄的最大值能夠匹配這個(gè)查詢(索引可以是主鍵或惟一索引)。
對(duì)查詢進(jìn)行優(yōu)化,應(yīng)盡量避免全表掃描,首先應(yīng)考慮在 where 及 order by 涉及的列上建立索引。
建立了索引 CREATE INDEX idx_test4_name ON test_tab (name );這樣,可以加快前面那個(gè)查詢的速度。
所以就產(chǎn)生了需要先判斷索引是否存在,再做添加索引或者刪除索引的操作(若索引不存在,添加或刪除索引會(huì)報(bào)錯(cuò))。
select name from teacher;select name from teacher where name = 123select name from teacher where name like %123%使用 explain 可以看到語句是否使用索引。
Non_unique 如果索引不能包括重復(fù)詞,則為0。如果可以,則為1。· Key_name 索引的名稱。· Seq_in_index 索引中的列序列號(hào),從1開始?!?Column_name 列名稱?!?Collation 列以什么方式存儲(chǔ)在索引中。