mysql 05索引 個人筆記

2021-10-14 14:24:49 字數 2733 閱讀 9598

1檢視表的所有索引

show index from tablename \g;

2普通索引的建立

2.1

語法create index index_name on table_name(field_name,asc/desc)

create index i_dogname on dog(dogname asc)

;2.2

語法 alter table table_name add index index_name(field_name)

alter table dog add index i_dog***(dog***)

;3 刪除普通索引

alter table table_name drop index index_name;

alter table dog drop index i_dogname;

4建立主鍵索引

主鍵索引一般在建表指定主鍵時候自動生成

create table primary_index(

idint primary key auto_increment)

;show index from primary_index\g;

****

****

****

****

****

*******

1. row **

****

****

****

****

****

****

* table: primary_index 索引表

non_unique:

00代表唯一索引 |

1代表不是唯一索引

key_name: primary 表示索引的名稱

seq_in_index:

1 單列索引為1

| 組合索引則該列的值位每列在索引定義中的順序

column_name:

id 新增了索引的字段列

collation: a 公升序a 無非類null

cardinality:

0

sub_part: null 表示列中應用了索引的字元數目 ;如果整列都被新增了索引 則為null

packed: null 關鍵字如何壓縮沒壓縮值位null

null: 索引列中是否有null的值 有就yes 沒有no

index_type: btree 顯示索引使用的型別和方法一般是 (btree,fulltext,hash,rtree)

comment: 顯示評注

index_comment:

5刪除主鍵索引

先用modify 取消主鍵自增

alter table primary_index modify id

intnot null;

在刪除alter table primary_index drop primary key;

5復合索引

這個我還不太懂

1建立語句是這樣

alter table com add index in_name(cjobnum,cdepid,cdepname)

;6全文索引

1建立語句

alter table dogmaster add fulltext i_dogmaster(mname)

;一般會用全文索引伺服器 不會直接建立全文索引

查完資料在寫索引效率更高

語法						table_name

explain select *

from tb_teacher\g

分析查詢結果

****

****

****

****

****

*******

1. row **

****

****

****

****

****

*****id

:1select_type: ****** 查詢複雜度

table: tb_teacher 查詢表

partitions: null 分割槽情況

type

: all 型別

possible_keys: null 可能用到的索引

key: null 實際用到的索引

key_len: null 鍵值長度

ref: null 查詢速度

rows:

5 影響行數

filtered:

100.00 過濾

extra: null 額外

1 row in

set,

1 warning (

0.00 sec)

type 有 all(全表掃瞄),

index(索引全掃瞄),

rang(索引範圍掃瞄),

ref(非唯一掃瞄),

eq_ref唯一索引掃瞄

不適用索引的情況

1 聯合索引沒有左字首

2or條件裡如果一方字段沒有索引

3 型別不對應

4 like"%ff" 萬用字元在左邊

5 使用 !=

,<>

,not

,in

MySql 05 筆記 索引

1 select from t where k between 3 and 5執行幾次搜尋樹?會掃瞄多少行?create table t id int primary key,k int notnull default0,s varchar 16 not null default index k k...

MySQL 05 資料型別

型別 大小 位元組 用途tinyint 1小整數值 smallint 2大整數值 mediumint 3大整數值 int4 大整數值 bigint 8極大整數值 float 4單精度浮點數值 double 8雙精度浮點數值 decimal decimal m,d m d?m 2 d 2 小數值型別 ...

MySQL 05(資料庫的刪除)

當資料庫不再使用時應該將其刪除,以確保資料庫儲存空間中存放的是有效資料。刪除資料庫是將已經存在的資料庫從磁碟空間上清除,清除之後,資料庫中的所有資料也將一同被刪除。在 mysql 中,當需要刪除已建立的資料庫時,可以使用 drop database 語句。其語法格式為 drop database i...