日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
mysql怎么查表的索引 mysql怎么查看表索引

MySQL聯(lián)表查詢的索引使用

一共3張表 knowledge , knowledge_question , knowledge_answer ,數(shù)據(jù)在 6000~10000 之間。

站在用戶的角度思考問題,與客戶深入溝通,找到永勝網(wǎng)站設(shè)計與永勝網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋永勝地區(qū)。

執(zhí)行的語句:

執(zhí)行時間約 10分鐘 ,查看執(zhí)行計劃如下:

全部都是全表掃描,根據(jù)MySQL聯(lián)表查詢的算法 Nested-Loop Join ,MySQL查詢的結(jié)果集是3張表的笛卡爾積,所以效率特別低。

耗時變成 20毫秒

給Where條件建立索引,并不一定會使用。

比如:在表 knowledge 的字段 update 上建立索引 idx_time :

結(jié)果執(zhí)行上來看,并沒有使用索引 idx_time 。

如果where條件從 k.update_time'2019-01-03 12:00:00' 修改為 k.update_time='2019-01-03 12:00:00' (從 變成 = )

則會使用索引 idx_time

在建立索引的時候,會遇到 Table Metadata Lock 的問題,可以先 show processlist ,找到占用表鎖的連接,然后 kill 。

怎么查看表的索引mysql

查看索引的語法格式如下:

SHOW INDEX FROM 表名 [ FROM 數(shù)據(jù)庫名]

語法說明如下:

表名:指定需要查看索引的數(shù)據(jù)表名。

數(shù)據(jù)庫名:指定需要查看索引的數(shù)據(jù)表所在的數(shù)據(jù)庫,可省略。比如,SHOW INDEX FROM student FROM test; 語句表示查看 test 數(shù)據(jù)庫中 student 數(shù)據(jù)表的索引。

示例

使用 SHOW INDEX 語句查看《MySQL創(chuàng)建索引》一節(jié)中 tb_stu_info2 數(shù)據(jù)表的索引信息,SQL 語句和運行結(jié)果如下所示。

mysql SHOW INDEX FROM tb_stu_info2\G

1. row

Table: tb_stu_info2

Non_unique: 0

Key_name: height

Seq_in_index: 1

Column_name: height

Collation: A

Cardinality: 0

Sub_part: NULL

Packed: NULL

Null: YES

Index_type: BTREE

Comment:

Index_comment:

1 row in set (0.03 sec)

其中各主要參數(shù)說明如下:

參數(shù) 說明

Table 表示創(chuàng)建索引的數(shù)據(jù)表名,這里是 tb_stu_info2 數(shù)據(jù)表。

Non_unique 表示該索引是否是唯一索引。若不是唯一索引,則該列的值為 1;若是唯一索引,則該列的值為 0。

Key_name 表示索引的名稱。

Seq_in_index 表示該列在索引中的位置,如果索引是單列的,則該列的值為 1;如果索引是組合索引,則該列的值為每列在索引定義中的順序。

Column_name 表示定義索引的列字段。

Collation 表示列以何種順序存儲在索引中。在 MySQL 中,升序顯示值“A”(升序),若顯示為 NULL,則表示無分類。

Cardinality 索引中唯一值數(shù)目的估計值?;鶖?shù)根據(jù)被存儲為整數(shù)的統(tǒng)計數(shù)據(jù)計數(shù),所以即使對于小型表,該值也沒有必要是精確的。基數(shù)越大,當(dāng)進行聯(lián)合時,MySQL 使用該索引的機會就越大。

Sub_part 表示列中被編入索引的字符的數(shù)量。若列只是部分被編入索引,則該列的值為被編入索引的字符的數(shù)目;若整列被編入索引,則該列的值為 NULL。

Packed 指示關(guān)鍵字如何被壓縮。若沒有被壓縮,值為 NULL。

Null 用于顯示索引列中是否包含 NULL。若列含有 NULL,該列的值為 YES。若沒有,則該列的值為 NO。

Index_type 顯示索引使用的類型和方法(BTREE、FULLTEXT、HASH、RTREE)。

Comment 顯示評注。

Mysql-多表查詢as索引

方法

(1) 根據(jù)需求找到關(guān)聯(lián)表

(2)找到關(guān)聯(lián)條件

重點的表tables

* 需求1:統(tǒng)計world庫下有幾個表

需求2:統(tǒng)計所有庫下表的個數(shù)

需求3:統(tǒng)計每個庫的總數(shù)據(jù)大小

--單表占空間:AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH

什么使索引:索引其實就是一種算法

BTree

HASH

Rtree

Fulltext

輔助索引

輔助索引只提取索引列作為葉子節(jié)點

聚集索引

聚集索引提取整行數(shù)據(jù)作為葉子節(jié)點

1、輔助索引和聚集索引最大的區(qū)別就在于葉子節(jié)點,枝節(jié)點和根節(jié)點原理相同

2、輔助索引會記錄主鍵值,一般情況(除等值查詢),最終都會通過聚集索引(主鍵)來找到需要的數(shù)據(jù)

第二種

一般經(jīng)常用來查詢的列作為索引

索引可以有多個,但是索引名不可重名

第一種:單列索引

第二種:前綴索引

前綴索引只能應(yīng)用到字符串列,數(shù)字列不能用前綴索引

聯(lián)合索引說明:如果在一個表內(nèi)對A、B、C三個列創(chuàng)建聯(lián)合索引那么創(chuàng)建索引將按照如下情況創(chuàng)建索引表:

A

AB

ABC

======================================================

(1)查詢列無索引

(2)語句不符合走走索引條件

(3)需要查看全表

即把有索引的列全便利一遍

、 、 =、 =、 like、 between and 在范圍掃描中,這些會受到B+tree索引葉子節(jié)點上額外的優(yōu)化,因為這些是連續(xù)取值的

or、in 這兩個不是連續(xù)的取值,所以不能受到B+tree索引的額外優(yōu)化,使用時相當(dāng)于Btree索引

!=、 not in 只有在主鍵列才走索引也是range級別

(1)、 、 =、 =、 like、 between and

(2)or、in

(3)!=、 not in

多表連接查詢,非驅(qū)動表連接條件是主鍵或唯一鍵

一般多表查詢的時,最左側(cè)的表為驅(qū)動表,右側(cè)的為非驅(qū)動表,下邊的例子中country標(biāo)為非驅(qū)動表

7.1.1 數(shù)字類型

7.1.2 字符串類型:

字符集

中文

gbk 2字節(jié)

utf8 3字節(jié)

utf8mb4 4字節(jié)

utf8mb4 為例:

舉例(1)聯(lián)合索引等值查詢

舉例(2) 聯(lián)合索引中有不等值查詢

如果Extra列出現(xiàn)Using temporary、Using filesort,兩項內(nèi)容,那么考慮以下語句的問題。

group by

order by

distinct

join on

union


標(biāo)題名稱:mysql怎么查表的索引 mysql怎么查看表索引
瀏覽路徑:http://www.dlmjj.cn/article/ddgcgpp.html