mysql 最新
特性
索引
创建一: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