衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

mysql數據庫的五種索引類型

汽車玩家 ? 來源:工控自動化專家 ? 作者:工控自動化專家 ? 2020-04-12 18:11 ? 次閱讀

MySQL索引類型:

1、普通索引

最基本的索引,它沒有任何限制,用于加速查詢。

創建方法:

a.建表的時候一起創建

CREATE TABLE mytable ( name VARCHAR(32) , INDEX index_mytable_name (name) );

b. 建表后,直接創建索引

CREATE INDEX index_mytable_name ON mytable(name);

c. 修改表結構

ALTER TABLE mytable ADD INDEX index_mytable_name (name);

注:如果是字符串字段,還可以指定索引的長度,在列命令后面加上索引長度就可以了(例如:name(11))

2、唯一索引

索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。

創建方法:

a.建表的時候一起創建

CREATE TABLE mytable ( `name` VARCHAR(32) , UNIQUE index_unique_mytable_name (`name`) );

b. 建表后,直接創建索引

CREATE UNIQUE INDEX index_mytable_name ON mytable(name);

c. 修改表結構

ALTER TABLE mytable ADD UNIQUE INDEX index_mytable_name (name);

注:如果是字符串字段,還可以指定索引的長度,在列命令后面加上索引長度就可以了(例如:name(11))

3、主鍵索引

是一種特殊的唯一索引,一個表只能有一個主鍵,不允許有空值。一般是在建表的時候同時創建主鍵索引。

創建方法:

a.建表的時候一起創建

CREATE TABLE mytable ( `id` int(11) NOT NULL AUTO_INCREMENT , `name` VARCHAR(32) , PRIMARY KEY (`id`) );

b. 修改表結構

ALTER TABLE test.t1 ADD CONSTRAINT t1_pk PRIMARY KEY (id);

注:如果是字符串字段,還可以指定索引的長度,在列命令后面加上索引長度就可以了(例如:name(11))

4、組合索引

指多個字段上創建的索引,只有在查詢條件中使用了創建索引時的第一個字段,索引才會被使用。使用組合索引時遵循最左前綴集合。

創建方法:

a.建表的時候一起創建

CREATE TABLE mytable ( `id` int(11) , `name` VARCHAR(32) , INDEX index_mytable_id_name (`id`,`name`) );

b. 建表后,直接創建索引

CREATE INDEX index_mytable_id_name ON mytable(id,name);

c. 修改表結構

ALTER TABLE mytable ADD INDEX index_mytable_id_name(id,name);

5、全文索引

主要用來查找文本中的關鍵字,而不是直接與索引中的值相比較。

fulltext索引跟其它索引大不相同,它更像是一個搜索引擎,而不是簡單的where語句的參數匹配。

fulltext索引配合match against操作使用,而不是一般的where語句加like。

它可以在create table,alter table ,create index使用,不過目前只有char、varchar,text 列上可以創建全文索引。

創建方法:

a. 建表的時候一起創建

CREATE TABLE `article` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(250) NOT NULL , `contents` text NULL , `create_at` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), FULLTEXT (contents) );

b. 建表后,直接創建索引

CREATE FULLTEXT INDEX index_article_contents ON article(contents);

c. 修改表結構

ALTER TABLE article ADD FULLTEXT INDEX index_article_contents(contents);

總結

雖然索引可以增加查詢數據,但對于更新、創建或者刪除的時候,需要去維護索引,導致性能會受影響,因此,索引也不能建立太多。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    3848

    瀏覽量

    64688
  • MySQL
    +關注

    關注

    1

    文章

    829

    瀏覽量

    26744
收藏 人收藏

    評論

    相關推薦

    從Delphi、C++ Builder和Lazarus連接到MySQL數據庫

    ? 從 Delphi、C++ Builder 和 Lazarus 連接到 MySQL 數據庫 MySQL 數據訪問組件(MyDAC)是一個組件
    的頭像 發表于 01-20 13:47 ?122次閱讀
    從Delphi、C++ Builder和Lazarus連接到<b class='flag-5'>MySQL</b><b class='flag-5'>數據庫</b>

    適用于MySQL和MariaDB的Python連接器:可靠的MySQL數據連接器和數據庫

    和 Linux 的 wheel 包分發。 直接連接 該解決方案使您能夠通過 TCP/IP 建立與 MySQL 或者 MariaDB 數據庫服務器的直接連接,而無需數據庫客戶端。另外
    的頭像 發表于 01-17 12:18 ?123次閱讀
    適用于<b class='flag-5'>MySQL</b>和MariaDB的Python連接器:可靠的<b class='flag-5'>MySQL</b><b class='flag-5'>數據</b>連接器和<b class='flag-5'>數據庫</b>

    分布式云化數據庫有哪些類型

    分布式云化數據庫有哪些類型?分布式云化數據庫主要類型包括:關系型分布式數據庫、非關系型分布式數據庫
    的頭像 發表于 01-15 09:43 ?111次閱讀

    MySQL數據庫的安裝

    MySQL數據庫的安裝 【一】各種數據庫的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】
    的頭像 發表于 01-14 11:25 ?131次閱讀
    <b class='flag-5'>MySQL</b><b class='flag-5'>數據庫</b>的安裝

    構建數據庫解決方案,基于華為云 Flexus X 實例容器化 MySQL 主從同步架構

    前言**** 華為云 Flexus X 實例,融合柔性算力與智能調度,為數據庫解決方案帶來全新突破。采用容器化 MySQL 主從同步架構,實現數據高效備份與讀寫分離,保障業務連續性與數據
    的頭像 發表于 01-07 17:22 ?200次閱讀
    構建<b class='flag-5'>數據庫</b>解決方案,基于華為云 Flexus X 實例容器化 <b class='flag-5'>MySQL</b> 主從同步架構

    數據庫是哪種數據庫類型

    數據庫是一部署在虛擬計算環境中的數據庫,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數據庫服務。云數據庫主要分為兩大類:關系型
    的頭像 發表于 01-07 10:22 ?142次閱讀

    數據庫數據恢復—Mysql數據庫表記錄丟失的數據恢復流程

    Mysql數據庫故障: Mysql數據庫表記錄丟失。 Mysql數據庫故障表現: 1、
    的頭像 發表于 12-16 11:05 ?224次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—<b class='flag-5'>Mysql</b><b class='flag-5'>數據庫</b>表記錄丟失的<b class='flag-5'>數據</b>恢復流程

    數據庫數據恢復—MYSQL數據庫ibdata1文件損壞的數據恢復案例

    mysql數據庫故障: mysql數據庫文件ibdata1、MYI、MYD損壞。 故障表現:1、數據庫無法進行查詢等操作;2、使用my
    的頭像 發表于 12-09 11:05 ?224次閱讀

    香港云服務器怎么部署MySQL數據庫

    在香港云服務器上部署MySQL數據庫的步驟如下: 步驟 1: 更新軟件包列表 首先,確保軟件包列表是最新的。在終端中執行以下命令: sudo apt update 步驟 2: 安裝 MySQL
    的頭像 發表于 11-14 16:15 ?229次閱讀

    數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

    一個運行在存儲上的SQLServer數據庫,有1000多個文件,大小幾十TB。數據庫每10天生成一個NDF文件,每個NDF幾百GB大小。數據庫包含兩個LDF文件。 存儲損壞,數據庫
    的頭像 發表于 10-31 13:21 ?337次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—通過拼接<b class='flag-5'>數據庫</b>碎片恢復SQLserver<b class='flag-5'>數據庫</b>

    適用于MySQL的dbForge架構比較

    dbForge Schema Compare for MySQL 是一工具,用于輕松有效地比較和部署 MySQL 數據庫結構和腳本文件夾差異。該工具提供了
    的頭像 發表于 10-28 09:41 ?259次閱讀
    適用于<b class='flag-5'>MySQL</b>的dbForge架構比較

    數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫沒有備份,無法通過備份恢復數據庫
    的頭像 發表于 09-20 11:46 ?410次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b>恢復案例

    華納云:MySQL初始化操作如何創建新的數據庫

    要在MySQL中創建一個新的數據庫,可以按照以下步驟進行操作: 登錄到MySQL數據庫管理系統中。可以使用MySQL命令行客戶端或者圖形化工
    的頭像 發表于 09-04 14:30 ?315次閱讀

    一文了解MySQL索引機制

    接觸MySQL數據庫的小伙伴一定避不開索引索引的出現是為了提高數據查詢的效率,就像書的目錄一樣。 某一個SQL查詢比較慢,你第一時間想到的
    的頭像 發表于 07-25 14:05 ?343次閱讀
    一文了解<b class='flag-5'>MySQL</b><b class='flag-5'>索引</b>機制

    恒訊科技分析:sql數據庫怎么用?

    SQL數據庫的使用通常包括以下幾個基本步驟: 1、選擇數據庫系統: 選擇適合您需求的SQL數據庫系統,如MySQL、PostgreSQL、Microsoft SQL Server、SQ
    的頭像 發表于 07-15 14:40 ?413次閱讀
    真人版百家乐试玩| 永利百家乐的玩法技巧和规则| 最新百家乐网评测排名| 百家乐专用桌子| 大发888娱乐场zb8| 百家乐官网代理网址| 搓牌百家乐官网技巧| 百家乐娱乐城代理| 互联网百家乐的玩法技巧和规则| 谈大发888风水和运气| 国际百家乐官网规则| 致胜百家乐官网下载| 玩百家乐678娱乐城| 威尼斯人娱乐城代理申请| 体育投注| 百家乐官网送现金200| 百家乐投注技巧公式| 威尼斯人娱乐城好不好| 岳阳市| 百家乐官网赌场娱乐网规则| 百家乐路单免费下载| 大发888博爱彩| 玉田县| 百家乐公式计算| 大发888真钱娱乐城| 模拟百家乐官网游戏软件| 沙龙百家乐破解| 大发888的示例| 太阳城百家乐官网客户端| 澳门玩百家乐赢1000万| 大发888开户注册首选| 诚信百家乐官网平台| 什么是百家乐赌博| 太阳城娱乐城申博| 百家乐官网生活馆拖鞋| 百家乐便利| 西乡县| 百家乐趋势图怎么看| 最新皇冠网| 属猪与属蛇做生意怎么样| 大发888官方网站登陆|