最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql關(guān)于or的索引的問(wèn)題及解決

 更新時(shí)間:2023年08月30日 10:05:00   作者:某科學(xué)的南條  
這篇文章主要介紹了mysql關(guān)于or的索引的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql關(guān)于or的索引問(wèn)題

用UNION替換OR (適用于索引列)

在下面的例子中,LOC_ID 和REGION上都建有索引*

高效:

select loc_id , loc_desc , region from location where loc_id = 10 ??
union ??
select loc_id , loc_desc , region ?from location where region = "melbourne" ??

低效:

select loc_id , loc desc , region from location where loc_id = 10 or region = "melbourne"?

如果你堅(jiān)持要用OR,那就需要返回記錄最少的索引列寫(xiě)在最前面。

mysql or不走索引分析

select * from tableName where a=1 and (b=1 or c=1)

其中建立了ab和ac的聯(lián)合索引,但是看db監(jiān)控慢查詢(xún)的掃描行數(shù)和a=1的行數(shù)相同。

通過(guò)explain看出執(zhí)行計(jì)劃是走ab的聯(lián)合索引,但是為啥掃描行數(shù)卻是a=1的行數(shù)呢?

猜測(cè)是因?yàn)橐閍=1 and b=1的數(shù)據(jù)時(shí)候,可以走ab索引,但是查出 a=1和c=1的數(shù)據(jù),就需要掃描a=1的所有數(shù)據(jù)。

可以通過(guò)聯(lián)合索引的數(shù)據(jù)結(jié)構(gòu)看出,當(dāng)a相同時(shí)候,會(huì)按照b來(lái)排序。

而且mysql一般不會(huì)選擇走多個(gè)索引,除非要索引合并,但是通過(guò)explain看出來(lái)并沒(méi)有索引合并。

所以只會(huì)走ab的索引&掃描a=1的所有數(shù)據(jù)來(lái)獲取c=1的數(shù)據(jù)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql索引對(duì)排序的影響實(shí)例分析

    mysql索引對(duì)排序的影響實(shí)例分析

    這篇文章主要介紹了mysql索引對(duì)排序的影響,結(jié)合實(shí)例形式分析了mysql使用索引提高排序速度的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • MySql中如何使用 explain 查詢(xún) SQL 的執(zhí)行計(jì)劃

    MySql中如何使用 explain 查詢(xún) SQL 的執(zhí)行計(jì)劃

    explain命令是查看查詢(xún)優(yōu)化器如何決定執(zhí)行查詢(xún)的主要方法。這篇文章重點(diǎn)給大家介紹MySql中如何使用 explain 查詢(xún) SQL 的執(zhí)行計(jì)劃,感興趣的朋友一起看看吧
    2018-05-05
  • mysql實(shí)現(xiàn)按組區(qū)分后獲取每組前幾名的sql寫(xiě)法

    mysql實(shí)現(xiàn)按組區(qū)分后獲取每組前幾名的sql寫(xiě)法

    這篇文章主要介紹了mysql實(shí)現(xiàn)按組區(qū)分后獲取每組前幾名的sql寫(xiě)法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-03-03
  • MySQL中l(wèi)ike的模糊查詢(xún)優(yōu)化以及虛擬列功能詳解

    MySQL中l(wèi)ike的模糊查詢(xún)優(yōu)化以及虛擬列功能詳解

    在數(shù)據(jù)庫(kù)查詢(xún)場(chǎng)景中,LIKE操作符的模糊匹配是高頻需求,但傳統(tǒng)寫(xiě)法往往導(dǎo)致全表掃描,成為性能瓶頸,這篇文章主要介紹了MySQL中l(wèi)ike的模糊查詢(xún)優(yōu)化以及虛擬列功能的相關(guān)資料,需要的朋友可以參考下
    2026-03-03
  • MySql分庫(kù)分表深度指南之從策略到落地

    MySql分庫(kù)分表深度指南之從策略到落地

    文章介紹了MySQL分庫(kù)分表的策略及實(shí)施方法,包括分片鍵設(shè)計(jì)、中間件選型(如ShardingSphere、Mycat),以及如何處理跨分片查詢(xún)和數(shù)據(jù)遷移,通過(guò)案例和最佳實(shí)踐,文章展示了如何解決高并發(fā)、大數(shù)據(jù)量下的查詢(xún)和事務(wù)問(wèn)題,實(shí)現(xiàn)數(shù)據(jù)自治和高可用,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • mysql8.0主從復(fù)制搭建與配置方案

    mysql8.0主從復(fù)制搭建與配置方案

    MySQL主從復(fù)制是一個(gè)異步的復(fù)制過(guò)程,就是有兩個(gè)數(shù)據(jù)庫(kù)服務(wù)器,一個(gè)是主(master)數(shù)據(jù)庫(kù)服務(wù)器,另一個(gè)是從(slave)數(shù)據(jù)庫(kù)服務(wù)器。
    2022-09-09
  • MySQL系列教程小白數(shù)據(jù)庫(kù)基礎(chǔ)

    MySQL系列教程小白數(shù)據(jù)庫(kù)基礎(chǔ)

    這篇文章主要為大家介紹了MySQL系列中的數(shù)據(jù)庫(kù)基礎(chǔ),非常適合數(shù)據(jù)庫(kù)小白的入門(mén)基礎(chǔ)篇,詳細(xì)的講解了數(shù)據(jù)庫(kù)的基本概念以及基礎(chǔ)命令及操作示例,有需要的朋友可以借鑒參考下
    2021-10-10
  • 全面了解mysql中utf8和utf8mb4的區(qū)別

    全面了解mysql中utf8和utf8mb4的區(qū)別

    下面小編就為大家?guī)?lái)一篇全面了解mysql中utf8和utf8mb4的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • MySQL對(duì)前N條數(shù)據(jù)求和的幾種方案

    MySQL對(duì)前N條數(shù)據(jù)求和的幾種方案

    本文詳細(xì)介紹了在MySQL中計(jì)算分組數(shù)據(jù)中排名前N的記錄的合計(jì)值的幾種方法,通過(guò)對(duì)比不同的解決方案,推薦使用窗口函數(shù)和臨時(shí)表的結(jié)合方案,以提高查詢(xún)性能,需要的朋友可以參考下
    2026-01-01
  • MySQL中的聚簇索引、非聚簇索引、聯(lián)合索引和唯一索引詳細(xì)介紹

    MySQL中的聚簇索引、非聚簇索引、聯(lián)合索引和唯一索引詳細(xì)介紹

    本文主要介紹了MySQL的索引類(lèi)型,根據(jù)索引的存儲(chǔ)方式來(lái)劃分,索引可以分為聚簇索引和非聚簇索引。聚簇索引的特點(diǎn)是葉子節(jié)點(diǎn)包含了完整的記錄行,而非聚簇索引的葉子節(jié)點(diǎn)只有所以字段和主鍵ID,感興趣的同學(xué)可以閱讀本文
    2023-04-04

最新評(píng)論

高邮市| 朝阳市| 衡东县| 乐山市| 略阳县| 墨玉县| 泊头市| 漳平市| 周至县| 东城区| 清镇市| 青浦区| 河津市| 百色市| 南宫市| 龙州县| 宕昌县| 嘉荫县| 田林县| 揭东县| 秦安县| 商河县| 平凉市| 黎平县| 临猗县| 灵寿县| 商都县| 屯留县| 延川县| 毕节市| 马尔康县| 长治县| 布拖县| 阳春市| 罗江县| 北流市| 新化县| 砀山县| 新乐市| 郧西县| 汽车|