MySQL是一款廣泛應用于Web應用程序開發的關系型數據庫管理系統。在處理海量數據時,如何優化查詢效率是數據庫管理的重點之一。添加索引是性能優化的重要手段之一。在MySQL中,對關鍵列添加索引可以大大提高查詢速度。本文將介紹如何對MySQL的3個列添加索引。
CREATE TABLE students ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(30) NOT NULL, age TINYINT(3) UNSIGNED NOT NULL, PRIMARY KEY (id), INDEX (name), UNIQUE (age) );
上面的代碼創建了一個students表。其中,id是主鍵,是默認創建的索引,name和age是其他兩個需要進行索引的列。
ALTER TABLE students ADD INDEX name_age (name, age);
上面的代碼添加了一個復合索引name_age,索引包含了name和age兩個列,可以優化包含這兩個條件的查詢。
SHOW INDEXES FROM students;
上面的代碼查詢了students表中所有的索引信息。執行結果如下:
+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | students | 0 | PRIMARY | 1 | id | A | 0 | NULL | NULL | | BTREE | | | | students | 1 | name | 1 | name | A | 0 | NULL | NULL | | BTREE | | | | students | 1 | age | 1 | age | A | 0 | NULL | NULL | | BTREE | | | | students | 1 | name_age | 1 | name | A | 0 | NULL | NULL | | BTREE | | | | students | 1 | name_age | 2 | age | A | 0 | NULL | NULL | | BTREE | | | +----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
執行結果顯示students表中一共有5個索引,其中name_age是剛剛添加的復合索引。
索引可以提高查詢效率,但是也會帶來一定的維護成本。因此,在添加索引之前需要仔細思考需要進行索引的列,避免不必要的索引。
上一篇mysql3307能用么
下一篇html css網站素材