mysql索引使用 一

2021-10-02 19:37:38 字數 1211 閱讀 4821

來公司幾個月了,成長很快。無論是業務還是技術,自己能感覺到熟悉的很快,也聽到了領導的誇獎。謝謝啊!

工作10年了,感謝這10年奠定的基礎。能讓我很快的熟悉專案,很快的協助同事完成任務。最近幾年也做過專案管理的一些事,所以我也敢說敢問。勇敢的跟同事去要任務,因為其他服務端開發的同事都是兼職,所以我必須感謝我的勇敢。

來到公司的這幾個月,除了維護專案,也做了幾個新功能。說到這裡有點不好意思, 還做過資料庫設計,但是卻不會建索引,只會加表加字段。最近在家辦公,時間比較多。聽了mysql的一些課程, 努力改造了一下我加過的表。知錯能改,善莫大焉。

按照我理解的,說一下索引。很淺顯,但是也適合初學者。我現在都是先學會使用,然後再去深入了解。就像工作一樣,你得先能做出東西,實現了功能,再去優化。併發程式設計也是這個道理,先得保證功能可用,再考慮cpu的使用。

索引有這麼幾類:主鍵索引,普通索引,唯一索引,組合索引

並不存在primary index,那麼怎麼增加主鍵索引呢,每個表都有primary key,自動是主鍵索引。

檢視索引:show index from t_filter_word;

增加索引:alter table table_name add index 'index_name'('column_name') using btree。mysql預設的索引方式是btree。

alter table table_name add  index `idx_uid_time` (`user_id`,`charm_time`) using btree

增加之後,展現形式:

key `idx_withdraw_returnfee_status`(`withdraw_status`,`return_fee_status`) using btree

對於組合索引,要注意索引失效,暫且不討論。

alter table table_name add unique index `idx_uid_time` (`user_id`,`charm_time`) using btree,

增加之後,展現形式:

unique key `idx_withdraw_returnfee_status` (`withdraw_status`,`return_fee_status`) using btree,

為什麼要加索引呢?我們經常說,加索引,可以提高查詢效率。那麼怎麼樣的算提高查詢效率呢?

首先通過explain 檢視sql的執行計畫,根據執行計畫去優化。

然後進入優化

mysql索引的使用(一)

一 索引的命名規則 1.加索引的字段,需要在where條件中 2.資料量少的字段不需要加索引 3.更新頻率高的字段不適合加索引 4.如果where條件中有or,加索引的話不起任何作用 5.對於聯合索引而言,符合最左原則 二 什麼是聯合索引 聯合索引又叫復合索引。對於復合索引 mysql從左到右的使用...

MySql如何使用索引 一

我們都知道在 mysql 中使用索引可以提高查詢效率,但有時候真正執行sql查詢的時候卻沒有按照我們的預想使用索引,而是全表掃瞄,導致有慢sql影響了整個 的效率,甚至導致 崩潰,所以我們需要了解mysql是如何選擇使用索引的,以便建立合適的索引 本文基於mysql5.7,innodb引擎 假設有一...

MySQL索引優化 使用 一

索引設計的原則 索引 index 是幫助mysql高效獲取資料的資料結構 有序 在資料之外,資料庫系統還維護者滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料,這樣就可以在這些資料結構上實現高階查詢演算法,這種資料結構就是索引 優勢 1類似於書籍的目錄索引,提高資料檢索效率,降低...