特性
索引
创建一:create [unique] index indexName on tableName (columnName (length) )。
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是 BLOB和TEXT类型,必须指定length。
创建二:alter tableName add [unique] index [indexName] on (columnName (length) )
删除:DROP INDEX [indexName] ON mytable;
查看:SHOW INDEX FROM table_name\G
实例:
// 建表
CREATE TABLE IF NOT EXISTS staffs(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(24) NOT NULL DEFAULT "" COMMENT'姓名',
age INT NOT NULL DEFAULT 0 COMMENT'年龄',
pos VARCHAR(20) NOT NULL DEFAULT "" COMMENT'职位',
add_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT'入职事件'
) CHARSET utf8 COMMENT'员工记录表';
// 插入数据
INSERT INTO `test`.`staffs` (`name`, `age`, `pos`, `add_time`) VALUES ('z3', 22, 'manager', now());
INSERT INTO `test`.`staffs` (`name`, `age`, `pos`, `add_time`) VALUES ('July', 23, 'dev', now());
INSERT INTO `test`.`staffs` (`name`, `age`, `pos`, `add_time`) VALUES ('2000', 23, 'dev', now());
// 建立复合索引(即一个索引包含多个字段)
ALTER TABLE staffs ADD INDEX idx_staffs_nameAgePos(name, age, pos);
MySQL性能优化 索引失效
.1 最左前缀法则
a->b->c
.2 AND 是可以用到索引的 OR后面的不可以
.3 不要对索引做以下处理
.4 索引不要放在范围查询右边
.5 减少 select * 的使用
.6 like 模糊搜索
.7 order by 优化
order by 排序算法
双路排序 单路排序
.8 group by
.1 索引的种类
.2 索引的分类
.3 哪些情况需要建索引
UTF-8 utf8mb4
MySQL 的“utf8mb4”才是真正的“UTF-8”。
抄自
原文地址:https://www.cnblogs.com/ming-michelle/p/14786544.html
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。