mysql 索引

現在接觸到的索引
innodb,myisam 這兩種索引
5.6 開始 新建表的存儲引擎 都是 innodb

innodb 支持行級鎖 mysiam 表鎖

innodb 支持事務, mysiam 不支持

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

innodb 插入,更新比較快,mysiam 查詢比較快

什么索引,索引有哪些分類

  1. 索引是一種特殊的文件,它們包含所有表記錄的引用指針,相當于書本的目錄。其作用就是加快檢索數據的速度。
  2. 索引有 主鍵索引,唯一索引,復合索引,普通索引,全文索引
    主鍵索引 一個表只有一個,不允許為空
    唯一索引一個表可以有多個,可以允許為空
    復合索引 多個列 組合在一起
    全文索引 varchar char , funlltext ,但是不支持中文
    索引不是越多越好,因為索引也要占空間,在更新,插入,數據會重新更新的

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

建立索引的原則

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

#mysql 如何優化
1.盡量避免where?。欤椋耄濉∧:樵?br> 2. 不用使用select?。?,需要列出列的名字
3.mysql 語句避免運算,減輕mysql 的壓力
4. 經常查詢的字段,建立合適的索引,提高查詢效率

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容