正確合理的建立MYSQL資料庫索引

2022-09-17 00:54:13 字數 1019 閱讀 9906

在資料庫表中,對欄位建立索引可以大大提高查詢速度。假如我們建立了乙個 mytable表:

create table mytable(   id int not null,    username varchar(16) not null  );

我們隨機向裡面插入了10000條記錄,其中有一條:5555, admin。

在查詢username="admin"的記錄 select * from mytable where username='admin';時,如果在username上已經建立了索引,mysql無須任何掃瞄,即準確可找到該記錄。相反,mysql會掃瞄所有記錄,即要查詢10000條記錄。

索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可以有多個單列索引,但這不是組合索引。組合索引,即乙個索包含多個列。

mysql索引型別包括:(1)普通索引這是最基本的索引,它沒有任何限制。

create index indexname on mytable(username(length));如果是char varchar型別,length可以小於字段實際長度;如果是blob和text型別,必須指定 length,下同。

drop index [indexname] on mytable;

(2)唯一索引

它與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。

建立索引:

create unique index indexname on mytable(username(length));

(3)主鍵索引

它是一種特殊的唯一索引,不允許有空值。一般是在建表的時候同時建立主鍵索引:

create table mytable(   id int not null,    username varchar(16) not null,   primary key(id) );(4)組合索引

正確合理的建立MYSQL資料庫索引

普通mysql執行,資料量和訪問量不大的話,是足夠快的,但是當資料量和訪問量劇增的時候,那麼就會明顯發現mysql很慢,甚至down掉,那麼就要考慮優化我們的mysql了。其中優化mysql的乙個重要環節就是為資料庫建立正確合理的索引。如果沒有索引,執行查詢時mysql必須從第乙個記錄開始掃瞄整個表...

如何正確合理的建立MYSQL資料庫索引

普通 mysql 執行,資料量和訪問量不大的話,是足夠快的,但是當資料量和訪問量劇增的時候,那麼就會明顯發現 mysql 很慢,甚至 down 掉,那麼就要考慮優化我們的 mysql 了。其中優化 mysql 的乙個重要環節就是為資料庫建立正確合理的索引。如果沒有索引,執行查詢時mysql必須從第乙...

如何正確合理的建立MYSQL資料庫索引

普通mysql執行,資料量和訪問量不大的話,是足夠快的,但是當資料量和訪問量劇增的時候,那麼就會明顯發現mysql很慢,甚至down掉,那麼就要考慮優化我們的mysql了。其中優化mysql的乙個重要環節就是為資料庫建立正確合理的索引。如果沒有索引,執行查詢時mysql必須從第乙個記錄開始掃瞄整個表...