91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

      手機(jī)站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

      千鋒教育

      掃一掃進(jìn)入千鋒手機(jī)站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

      當(dāng)前位置:首頁  >  技術(shù)干貨  > MySQL數(shù)據(jù)庫有哪些基本的索引類型?

      MySQL數(shù)據(jù)庫有哪些基本的索引類型?

      來源:千鋒教育
      發(fā)布人:xqq
      時(shí)間: 2023-10-13 22:45:44 1697208344

      一、MySQL數(shù)據(jù)庫有哪些基本的索引類型

      索引分單列索引和組合索引。單列索引,即一個(gè)索引只包含單個(gè)列,一個(gè)表可以有多個(gè)單列索引,但這不是組合索引。

      組合索引,即一個(gè)索引包含多個(gè)列。創(chuàng)建索引時(shí),你需要確保該索引是應(yīng)用在 SQL 查詢語句的條件(一般作為 WHERE 子句的條件)。

      實(shí)際上,索引也是一張表,該表保存了主鍵與索引字段,并指向?qū)嶓w表的記錄。上面都在說使用索引的好處,但過多的使用索引將會(huì)造成濫用。

      因此索引也會(huì)有它的缺點(diǎn):雖然索引大大提高了查詢速度,同時(shí)卻會(huì)降低更新表的速度,如對(duì)表進(jìn)行INSERT、UPDATE和DELETE。

      因?yàn)楦卤頃r(shí),MySQL不僅要保存數(shù)據(jù),還要保存一下索引文件。建立索引會(huì)占用磁盤空間的索引文件。

      Mysql目前主要有以下幾種索引類型:FULLTEXT,HASH,BTREE,RTREE。

      1.FULLTEXT

      即為全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不過目前只有 CHAR、VARCHAR ,TEXT 列上可以創(chuàng)建全文索引。

      全文索引并不是和MyISAM一起誕生的,它的出現(xiàn)是為了解決WHERE name LIKE “%word%”這類針對(duì)文本的模糊查詢效率較低的問題。

      2. HASH

      由于HASH的少數(shù)(幾乎100%的少數(shù))及類似鍵值對(duì)的形式,很適合作為索引。

      HASH索引可以一次定位,不需要像樹形索引那樣逐層查找,因此具有極高的效率。但是,這種高效是有條件的,即只在“=”和“in”條件下高效,對(duì)于范圍查詢、排序及組合索引仍然效率不高。

      3. BTREE

      BTREE索引就是一種將索引值按一定的算法,存入一個(gè)樹形的數(shù)據(jù)結(jié)構(gòu)中(二叉樹),每次查詢都是從樹的入口root開始,依次遍歷node,獲取leaf。這是MySQL里默認(rèn)和最常用的索引類型。

      4. RTREE

      RTREE在MySQL很少使用,僅支持geometry數(shù)據(jù)類型,支持該類型的存儲(chǔ)引擎只有MyISAM、BDb、InnoDb、NDb、Archive幾種。相對(duì)于BTREE,RTREE的優(yōu)勢(shì)在于范圍查找。ps. 此段詳細(xì)內(nèi)容見此片博文:Mysql幾種索引類型的區(qū)別及適用情況

      延伸閱讀:

      二、什么是數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)

      數(shù)據(jù)庫的應(yīng)用非常廣泛,舉個(gè)例子,我們平時(shí)在瀏覽器上搜索內(nèi)容,就要用到數(shù)據(jù)庫去檢索我們的關(guān)鍵字。以前我們可能會(huì)用數(shù)組、集合、文件等來存儲(chǔ)數(shù)據(jù),但是接下來我們就會(huì)面臨一個(gè)問題,當(dāng)存儲(chǔ)的數(shù)據(jù)或內(nèi)容過多的時(shí)候,我們?nèi)绾稳ゾ珳?zhǔn)的找到我們需要的東西,這時(shí)候數(shù)據(jù)庫管理系統(tǒng)就派上了用場(chǎng)。除此之外,數(shù)據(jù)庫管理系統(tǒng)還能永久的儲(chǔ)存我們的數(shù)據(jù)。

      為了便于大家理解,這里先給大家講解幾個(gè)概念

      DB數(shù)據(jù)庫(database):存儲(chǔ)數(shù)據(jù)的“倉庫”。它保存了一系列有組織的數(shù)據(jù)。

      DBMS數(shù)據(jù)庫管理系統(tǒng)(Database Management System):數(shù)據(jù)庫是通過DBMS創(chuàng)建和操作的容器。

      SQL,結(jié)構(gòu)化查詢語言(Structured Query Language)用一句話概括,SQL是一種特殊目的的編程語言,一種專門用來與數(shù)據(jù)庫通信的語言。在數(shù)據(jù)庫中,數(shù)據(jù)被結(jié)構(gòu)化并存儲(chǔ)在不同的表中,從而簡(jiǎn)化了訪問,更新和操作數(shù)據(jù)的過程。該表由列和行組成。數(shù)據(jù)庫中的表可以在關(guān)系的幫助下進(jìn)行連接。要在數(shù)據(jù)庫中執(zhí)行與數(shù)據(jù)相關(guān)的任務(wù),可以使用SQL。SQL代表結(jié)構(gòu)化查詢語言,旨在在特定RDBMS內(nèi)創(chuàng)建,修改和管理數(shù)據(jù)庫中的數(shù)據(jù)。

      SQL優(yōu)點(diǎn):

      1、不是某個(gè)特定數(shù)據(jù)庫供應(yīng)商專有的語言,幾乎所有DBMS(數(shù)據(jù)庫管理系統(tǒng))都支持SQL

      2、簡(jiǎn)單易學(xué)

      3、雖然簡(jiǎn)單,但實(shí)際上是一種強(qiáng)有力的語言,靈活使用其語言元素,可以進(jìn)行非常復(fù)雜和高級(jí)的數(shù)據(jù)庫操作。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
      10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
      請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
      免費(fèi)領(lǐng)取
      今日已有369人領(lǐng)取成功
      劉同學(xué) 138****2860 剛剛成功領(lǐng)取
      王同學(xué) 131****2015 剛剛成功領(lǐng)取
      張同學(xué) 133****4652 剛剛成功領(lǐng)取
      李同學(xué) 135****8607 剛剛成功領(lǐng)取
      楊同學(xué) 132****5667 剛剛成功領(lǐng)取
      岳同學(xué) 134****6652 剛剛成功領(lǐng)取
      梁同學(xué) 157****2950 剛剛成功領(lǐng)取
      劉同學(xué) 189****1015 剛剛成功領(lǐng)取
      張同學(xué) 155****4678 剛剛成功領(lǐng)取
      鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
      董同學(xué) 138****2867 剛剛成功領(lǐng)取
      周同學(xué) 136****3602 剛剛成功領(lǐng)取
      相關(guān)推薦HOT
      PHP數(shù)組具的特性有哪些?

      一、有序集合PHP數(shù)組是一個(gè)有序的數(shù)據(jù)集合,它可以存儲(chǔ)多個(gè)值,并使用索引來訪問這些值。索引可以是數(shù)字或字符串,允許你以靈活的方式組織和訪...詳情>>

      2023-10-13 23:46:55
      C語言中定義與聲明的含義是什么?

      一、定義的含義在C語言中,定義是指為變量、函數(shù)或類型分配存儲(chǔ)空間并指定其屬性和初始值的過程。定義的主要含義如下:分配存儲(chǔ)空間:定義一個(gè)...詳情>>

      2023-10-13 23:32:41
      APP開發(fā)中常用的開發(fā)語言都有什么?

      一、JavaJava是一種廣泛使用的開發(fā)語言,尤其在Android應(yīng)用開發(fā)中得到了廣泛應(yīng)用。Java具有面向?qū)ο蟮奶匦?,可以?shí)現(xiàn)復(fù)雜的應(yīng)用邏輯和交互效果...詳情>>

      2023-10-13 23:29:28
      Python的自動(dòng)化測(cè)試框架有哪些?

      一、unittestunittest是Python內(nèi)置的測(cè)試框架,它受到Java的JUnit框架的啟發(fā)。unittest提供了一個(gè)面向?qū)ο蟮木幊棠P?,允許開發(fā)人員編寫測(cè)試用...詳情>>

      2023-10-13 23:06:20
      Web前端開發(fā)工具有哪些?

      一、代碼編輯器代碼編輯器是Web前端開發(fā)的基礎(chǔ)工具之一,用于編寫、編輯和修改計(jì)算機(jī)代碼。它通常支持多種編程語言,并提供了一些便捷的功能,...詳情>>

      2023-10-13 22:58:11