MySQL創(chuàng)建索引/判斷索引是否生效的問(wèn)題
MySQL創(chuàng)建索引
現(xiàn)有數(shù)據(jù)表 jingjia_info,共658行數(shù)據(jù):
SELECT * FROM jingjia_info;
查詢(xún)表中使用的索引
show index from 表名; eg. show index from jingjia_info;
查看查詢(xún)語(yǔ)句中是否使用了索引
方式一
EXPLAIN + 查詢(xún)語(yǔ)句
EXPLAIN SELECT * FROM jingjia_info;
EXPLAIN列的解釋?zhuān)?/strong>
- table:顯示這一行的數(shù)據(jù)是關(guān)于哪張表的。
- type:這是重要的列,顯示連接使用了何種類(lèi)型。從最好到最差的連接類(lèi)型為const、eq_reg、ref、range、index和ALL。
- possible_keys:顯示可能應(yīng)用在這張表中的索引。如果為空,沒(méi)有可能的索引??梢詾橄嚓P(guān)的域從WHERE語(yǔ)句中選擇一個(gè)合適的語(yǔ)句。
- ==key: 實(shí)際使用的索引。如果為NULL,則沒(méi)有使用索引。==很少的情況下,MySQL會(huì)選擇優(yōu)化不足的索引。這種情況下,可以在SELECT語(yǔ)句中使用USE INDEX(indexname)來(lái)強(qiáng)制使用一個(gè)索引或者用IGNORE INDEX(indexname)來(lái)強(qiáng)制MySQL忽略索引。
- key_len:使用的索引的長(zhǎng)度。在不損失精確性的情況下,長(zhǎng)度越短越好。
- ref:顯示索引的哪一列被使用了,如果可能的話,是一個(gè)常數(shù)。
- rows:MySQL認(rèn)為必須檢查的用來(lái)返回請(qǐng)求數(shù)據(jù)的行數(shù)。
- Extra:關(guān)于MySQL如何解析查詢(xún)的額外信息。
- extra列返回的描述的意義:
方式二
使用時(shí)間檢測(cè)
# 運(yùn)行時(shí)間檢測(cè) set profiling=1; SQL; # 查看執(zhí)行時(shí)間 show profiles;
創(chuàng)建新索引
CREATE INDEX index_name ON 表名(字段1,字段2,…);
CREATE INDEX index_info ON jingjia_info(jingjia_no,); # jingjia_no 是一個(gè)id字段
使用 EXPLAIN 查詢(xún)jingjia_no
EXPLAIN SELECT jingjia_no FROM jingjia_info;
查詢(xún)一個(gè)未加索引的普通字段 ggfb
EXPLAIN SELECT ggfb FROM jingjia_info;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Mysql創(chuàng)建json字段索引的兩種方式
- mysql創(chuàng)建索引的3種方法實(shí)例
- mysql error 1071: 創(chuàng)建唯一索引時(shí)字段長(zhǎng)度限制的問(wèn)題
- MySQL創(chuàng)建唯一索引時(shí)報(bào)錯(cuò)Duplicate?entry?*?for?key問(wèn)題
- MySQL為JSON字段創(chuàng)建索引方式(Multi-Valued?Indexes?多值索引)
- MySql索引和索引創(chuàng)建策略
- 一文弄懂MySQL索引創(chuàng)建原則
- MySQL創(chuàng)建高性能索引的全步驟
- MySQL不適合創(chuàng)建索引的11種情況示例分析
相關(guān)文章
MySQL存儲(chǔ)過(guò)程中一些基本的異常處理教程
這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程中一些基本的異常處理教程,其中rollback命令的使用需要謹(jǐn)慎一些,需要的朋友可以參考下2015-12-12my.cnf(my.ini)重要參數(shù)優(yōu)化配置說(shuō)明
本文針對(duì)mysql不同存儲(chǔ)引擎,MyISAM與Innodb進(jìn)行了講解如何進(jìn)行my.cnf(my.ini)的參數(shù)優(yōu)化2018-03-03MySQL Hints控制查詢(xún)優(yōu)化器的選擇問(wèn)題小結(jié)
MySQL Hints是一種強(qiáng)大的工具,可以幫助我們解決復(fù)雜的查詢(xún)性能問(wèn)題,然而,它們應(yīng)該謹(jǐn)慎使用,并且總是與徹底的測(cè)試和驗(yàn)證相結(jié)合,本文介紹MySQL Hints控制查詢(xún)優(yōu)化器的選擇,感興趣的朋友一起看看吧2024-06-06Mysql數(shù)據(jù)庫(kù)分庫(kù)和分表方式(常用)
本文主要給大家介紹Mysql數(shù)據(jù)庫(kù)分庫(kù)和分表方式(常用),涉及到mysql數(shù)據(jù)庫(kù)相關(guān)知識(shí),對(duì)mysql數(shù)據(jù)庫(kù)分庫(kù)分表相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-03-03mysqli多查詢(xún)特性 實(shí)現(xiàn)多條sql語(yǔ)句查詢(xún)
mysqli相對(duì)于mysql有很多優(yōu)勢(shì),mysqli連接數(shù)據(jù)庫(kù)和mysqli預(yù)處理prepare使用,不僅如此,mysqli更是支持多查詢(xún)特性2012-12-12