中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress云端采集插件廣州新塘網(wǎng)站seo優(yōu)化

wordpress云端采集插件,廣州新塘網(wǎng)站seo優(yōu)化,wordpress some chinese please,北京網(wǎng)上推廣MySQL中NULL值是否會(huì)影響索引的使用 為何寫這一篇文章 🐭🐭在面試的時(shí)候被問到NULL值是否會(huì)走索引的時(shí)候,感到有點(diǎn)不理解,于是事后就有了這篇文章 問題: 為name建立索引,name可以為空select * from user …

MySQL中NULL值是否會(huì)影響索引的使用

為何寫這一篇文章

🐭🐭在面試的時(shí)候被問到NULL值是否會(huì)走索引的時(shí)候,感到有點(diǎn)不理解,于是事后就有了這篇文章
問題:
為name建立索引,name可以為空
select * from user where name is null是否會(huì)使用索引?
生活會(huì)拷打每一個(gè)做事不認(rèn)真的人😭

索引的結(jié)構(gòu)

詳細(xì)的可以參照我的上一篇文章深入淺出MySQL,里面有關(guān)于索引的詳細(xì)介紹
在InnoDB引擎中,索引分為聚簇索引和二級索引,對于二級索引

,在這個(gè)場景下我們要考慮的就是是否會(huì)為NULL建立索引和如果列中存在NULL值,是否會(huì)走索引去查找這個(gè)NULL

訪問方法

訪問方法是MySQL來實(shí)際訪問數(shù)據(jù)的執(zhí)行方法大致分為:

  1. 全表掃描
  2. 使用索引掃

測試表

CREATE TABLE user (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(20) NOT NULL,  `age` int(11) DEFAULT NULL,  `sex` varchar(20) DEFAULT NULL,  PRIMARY KEY (`id`)  
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;  INSERT INTO user (`id`, `name`, `age`, `sex`) VALUES ('1', 'Bob', '20', '男');  
INSERT INTO user (`id`, `name`, `age`, `sex`) VALUES ('2', 'Jack', '20', '男');  
INSERT INTO user (`id`, `name`, `age`, `sex`) VALUES ('3', 'Tony', '20', '男');  
INSERT INTO user (`id`, `name`, `age`, `sex`) VALUES ('4', 'Alan', '20', '男');  CREATE  UNIQUE  INDEX indexName ON user(name(20));  
# 為age建立索引  
CREATE INDEX indexAge ON user(age);

const

通過主鍵或者唯一二級索引列來定位一條記錄的訪問方法
explain select * from user where id = 1;
解決如下:
?

|1150

通過type我們可以看見訪問方法是const

ref

如果二級索引列不是唯一的,那么就使用二級索引的值去匹配,之后再回表
?

explain select * from user where age = 20;
?

如圖使用的是ref方法
二級索引列值為NULL時(shí)
二級索引列對NULL值的數(shù)量時(shí)不限制的,所以key is NULL最多使用的是ref,而不是const

ref_or_null

有時(shí)候我們需要找出二級索引等于常數(shù)和為NULL的記錄一同找出
explain select * from user where age = 20 or age is null ;
?

執(zhí)行的流程:
如圖,NULL是放在每一層中最左側(cè)的,并且是連在一起的

range

使用索引進(jìn)行范圍訪問,可以是聚簇索引,也可以是二級索引。
explain select * from user where age > 11 and age <= 20;

index

遍歷二級索引記錄的執(zhí)行方式,常常出現(xiàn)在查詢列和條件都包含在索引中,不需要回表,所以直接遍歷即可

all

全表掃描

NULL在二級索引中的位置

通過查詢資料,發(fā)現(xiàn)如果索引列允許NULL值,那么NULL在二級索引中是被當(dāng)作最小值放在樹的每一層的最左側(cè)的,也就是NULL值會(huì)被當(dāng)成索引列的數(shù)據(jù)使用的,所以NULL值匹配是可能會(huì)走索引的

  1. 如果在索引列上使用IS NULL或IS NOT NULL,MySQL通常會(huì)走索引
    
    explain select * from user where age is null;  explain select * from user where age is not null;
  2. 符合索引,如果簽到列不為NULL,后續(xù)的列也是可以走索引的
http://www.risenshineclean.com/news/36783.html

相關(guān)文章:

  • 商務(wù)網(wǎng)站建設(shè)綜合實(shí)訓(xùn)信陽網(wǎng)絡(luò)推廣公司
  • 網(wǎng)站開發(fā)專業(yè)就業(yè)培訓(xùn)學(xué)校信息流優(yōu)化師沒經(jīng)驗(yàn)可以做嗎
  • 網(wǎng)站圖片有什么要求嗎長春seo排名公司
  • 攀枝花 網(wǎng)站建設(shè)app拉新怎么對接渠道
  • 最好看免費(fèi)觀看高清大全城中之城上海關(guān)鍵詞優(yōu)化排名哪家好
  • 怎么知道哪家公司網(wǎng)站做的好網(wǎng)站買賣交易平臺(tái)
  • 網(wǎng)絡(luò)組建設(shè)計(jì)與方案網(wǎng)站seo 優(yōu)化
  • jquery 特效 網(wǎng)站網(wǎng)絡(luò)推廣公司是干什么
  • 廣西住房城鄉(xiāng)建設(shè)廳官網(wǎng)站大數(shù)據(jù)培訓(xùn)班出來能就業(yè)嗎
  • 網(wǎng)站頁面數(shù)量開發(fā)網(wǎng)站的公司
  • 做網(wǎng)站圖片怎么弄一個(gè)自己的網(wǎng)站
  • 河北網(wǎng)站開發(fā)費(fèi)用百度電話人工服務(wù)
  • 做門窗接活的網(wǎng)站廣告投放渠道
  • 做我女朋友好不好套路網(wǎng)站seo高級優(yōu)化技巧
  • 做局域網(wǎng)網(wǎng)站公司網(wǎng)站怎么弄
  • 家居企業(yè)網(wǎng)站建設(shè)如何豬八戒網(wǎng)接單平臺(tái)
  • 廣州 企業(yè)網(wǎng)站建設(shè)百度貼吧怎么做推廣
  • 新興建設(shè)網(wǎng)站頭條指數(shù)
  • 小型手機(jī)網(wǎng)站建設(shè)哪家好百度視頻
  • 收圖片的網(wǎng)站企業(yè)培訓(xùn)計(jì)劃方案
  • 三亞網(wǎng)站建設(shè)介紹首頁
  • 怎么做網(wǎng)盤搜索引擎網(wǎng)站抖音怎么推廣
  • 網(wǎng)站設(shè)計(jì)第一步怎么做今日國內(nèi)新聞10則
  • 站長平臺(tái)有哪些百度平臺(tái)營銷軟件
  • 建筑專業(yè)網(wǎng)站文明seo技術(shù)教程網(wǎng)
  • wordpress 添加icp舟山百度seo
  • 網(wǎng)站右邊跳出的廣告怎么做可以推廣的軟件有哪些
  • 惠民網(wǎng)站建設(shè)淺議網(wǎng)絡(luò)營銷論文
  • 休閑旅游產(chǎn)品營銷網(wǎng)站的建設(shè)策略app運(yùn)營
  • 深圳高端網(wǎng)站開發(fā)網(wǎng)絡(luò)營銷的優(yōu)勢有哪些?