Mysql一点总结
2016-10-18 11:32
218 查看
索引:
索引分三类:index ----普通的索引,数据可以重复
unique ----唯一索引,唯一索引,要求所有记录都唯一
primary key ----主键索引,也就是在唯一索引的基础上相应的列必须为主键
MySQL 中会对 <,<=,=,>,>=,BETWEEN,IN 以及不以% _开头的like 语句使用索引。
大量数据导入的时候,去掉索引 => 导入数据 =>加上索引(速度提升明显)
索引建立原则:
1,在经常用作过滤器的字段上面建立索引;2,在sql语句order by ,group by
上面建立索引
3,在不同值比较少的字段上不必要建立索引,如:性别
4,对于经常存取的列避免建立索引,
5,用于链接的列,(主/外 键)上建立索引
6. 在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定;
7. 索引列不能为NULL ,不要计算
8. 尽可能扩展索引,表中已有a字段索引,现在需要增加b字段,在原有基础上修改索引(a,b)即可
9. 可以使用短索引假设,如果有一个数据类型为CHAR(255)的列,在前10个或20个字符内,绝大部分数据的值是唯一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省I/O操作。建立索引的字段长度可以精细
1,最左前缀匹配原则。这是非常重要、非常重要、非常重要(重要的事情说三遍)的原则,MySQL会一直向右匹配直到遇到范围查询(>,<,BETWEEN,LIKE)就停止匹配,比如:
a = 1 AND b = 2 AND c > 3 AND d = 4,如果建立 (a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引,则都可以用到,a,b,d的顺序可以任意调整。
相关文章推荐
- 关于jdbc连接mysql的一点小总结
- MySQL的一点小小总结
- 有关 PHP 和 MySQL 时区的一点总结
- 学习mysql之后的一点总结(基础)
- SQL Server 与MySQL中排序规则与字符集相关知识的一点总结
- 有关 PHP 和 MySQL 时区的一点总结
- mysql存储引擎的一点学习心得总结
- MySql里给varchar赋值要不要 单引号的一点总结
- mysql设计,优化的一点总结
- 学习mysql之后的一点总结(基础)
- MySQL的一点小小总结
- j2EE+mysql的一点总结
- MySQL的一点小总结
- 有关 PHP 和 MySQL 时区的一点总结
- MYSQL 优化的一点总结
- 有关 PHP 和 MySQL 时区的一点总结
- 关于mysql多重组合查询的一点技巧总结
- mysql存储引擎的一点学习心得总结
- 关于php+mysql+nginx配置的一点总结
- MySQL使用总结(1)