mysql 索引

現(xiàn)在接觸到的索引
innodb,myisam 這兩種索引
5.6 開(kāi)始 新建表的存儲(chǔ)引擎 都是 innodb

innodb 支持行級(jí)鎖 mysiam 表鎖

innodb 支持事務(wù), mysiam 不支持

innodb 不支持全文索引, mysiam 支持全文索引

innodb 插入,更新比較快,mysiam 查詢(xún)比較快

什么索引,索引有哪些分類(lèi)

  1. 索引是一種特殊的文件,它們包含所有表記錄的引用指針,相當(dāng)于書(shū)本的目錄。其作用就是加快檢索數(shù)據(jù)的速度。
  2. 索引有 主鍵索引,唯一索引,復(fù)合索引,普通索引,全文索引
    主鍵索引 一個(gè)表只有一個(gè),不允許為空
    唯一索引一個(gè)表可以有多個(gè),可以允許為空
    復(fù)合索引 多個(gè)列 組合在一起
    全文索引 varchar char , funlltext ,但是不支持中文
    索引不是越多越好,因?yàn)樗饕惨伎臻g,在更新,插入,數(shù)據(jù)會(huì)重新更新的

alter table test add index (name); 普通索引
alter table teble add unique (age); 唯一索引
alter table test add fulltext (class); 全文索引

建立索引的原則

  1. 一般出現(xiàn)在 where 查詢(xún)后面的字段才建立索引
  2. 經(jīng)常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作會(huì)浪費(fèi)很多時(shí)間。如果為其建立索引,可以有效地避免排序操作。
  3. 盡量是數(shù)據(jù)小的建立索引 char(10), char(100)
  4. text.log 這種要有前綴索引
    5.限制索引的數(shù)目,不是越多越好,索引會(huì)占用磁盤(pán)空間的
    6.盡量擴(kuò)張索引

#mysql 如何優(yōu)化
1.盡量避免where like 模糊查詢(xún)
2. 不用使用select?。?,需要列出列的名字
3.mysql 語(yǔ)句避免運(yùn)算,減輕mysql 的壓力
4. 經(jīng)常查詢(xún)的字段,建立合適的索引,提高查詢(xún)效率

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容