建设单位网站,网页设计作品收获与思考,网页贷款,大冶市建设部门网站说起提高数据库性能#xff0c;索引是最物美价廉的东西了。不用加内存#xff0c;不用改程序#xff0c;不用调sql#xff0c;查询速度就可能提高百倍干倍。 索引本身会占用空间#xff0c;以空间换时间。索引的代价#xff1a;磁盘占用#xff0c;影响DML语句效率索引是最物美价廉的东西了。不用加内存不用改程序不用调sql查询速度就可能提高百倍干倍。 索引本身会占用空间以空间换时间。索引的代价磁盘占用影响DML语句效率增删改因为改动后要对索引进行维护影响速度但实际应用中SELECT语句比DML多得多所以代价可以容忍。 创建索引后只对创建了索引的列有效。 索引为什么快创建了一个数据结构如二叉树、b树、b树等。 索引有四种主键、唯一、普通、全文索引 索引的应用场景 较频繁的作为查询条件字段应该创建索引 唯一性太差的字段不适合单独创建索引 更新非常频繁的字段不适合创建索引 不会出现在WHERE子句中字段不该创建索引 8.1 主键索引primary key
主键自动为主键索引如果先建表再指定索引
ALTER TABLE t26 ADD PRIMARY KEY (id);
8.2 唯一索引unique
unique也自动为唯一索引如果先建表再指定索引
-- 添加唯一索引
CREATE UNIQUE INDEX id_index ON table1 (id);
8.3 普通索引index
用的较多。
如果某列的值是不会重复的则优先考虑使用 unique 索引, 否则使用普通索引。
-- 添加普通索引方式 1
CREATE INDEX id_index ON table1 (id);-- 添加普通索引方式 2
ALTER TABLE table1 ADD INDEX id_index (id)
8.4 全文索引fulltext
不好用实际使用全文搜索solr和ElasticSearch(ES)。
8.5 删除索引
-- 删除索引
DROP INDEX id_index ON t25
-- 删除主键索引
ALTER TABLE t26 DROP PRIMARY KEY
8.6 修改索引
先删除再添加新索引
8.7 查询索引
-- 1. 方式
SHOW INDEX FROM t25
-- 2. 方式
SHOW INDEXES FROM t25
-- 3. 方式
SHOW KEYS FROM t25
-- 4 方式
DESC t25