美文网首页
MYSQL记录

MYSQL记录

作者: 架构飞毛腿 | 来源:发表于2018-04-20 14:52 被阅读4次

简单描述MySQL中,索引、主键、唯一索引、联合索引的区别,对数据库的性能有什么影响?

MySQL索引的基础和类型

索引:类似于书籍的目录,想找到一本书的某个特定的主题,需要先找到书的目录,定位对应的页码。

MySQL中存储引擎使用类似的方式进行查询,先去索引中查找对应的值,然后根据匹配的索引找到对应的数据行。

索引对性能的影响:

大大减少服务器需要扫描的数据量。

帮助服务器避免排序和临时表。

将随机I/O变顺序I/O。

大大提高查询速度,降低写的速度、占用磁盘。

索引的使用场景:

对非常小的表,大部分情况下全表扫描效率更高。

对中大型表,索引非常有效

特大型的表,建立和使用索引的代价随着增长,可以使用分区技术来解决。

索引的类型

索引都是实现在存储引擎层的。

普通索引:最基本的索引,没有任何约束

唯一索引:与普通索引类似,但具有唯一性约束

主键索引:特殊的唯一索引,不允许有空值

组合索引:将多个列组合在一起创建索引,可以覆盖多个列

外键索引:只有InnoDB类型的表才可以使用外键索引,保证数据的一致性、完整性和实现级联操作

全文索引:MySQL自带的全文索引只能用于MyISAM,并且只能对英文进行全文检索,一般使用全文索引引擎

主键索引和唯一索引的去别:

一个表只能有一个主键索引,可以有多个唯一索引

主键索引一定是唯一索引,唯一索引不是主键索引

主键和外键构成参照完整性约束,防止数据不一致

延伸:MySQL索引的创建原则

最适合索引的列是出现在where子句中的列,或连接子句中的列,而不是出现在select关键字后的列;

索引列的基数越大,索引效果越好;

对字符串进行索引,应该定制一个前缀长度,可以节省大量的索引空间;

根据情况创建复合索引,复合索引可以提高查询效率;

避免创建过多的索引,索引会额外占用磁盘空间,降低写操作效率;

主键尽可能选择较短的数据类型,可以有效减少索引的磁盘占用提高查询效率

延伸:MySQL索引的注意事项

复合索引遵循前缀原则;

like查询,%不能在前,可以使用全文索引;

column is null可以使用索引;

如果MySQL估计使用索引比全表扫描更慢,会放弃使用索引;

列类型是字符串类型,查询时一定要给值加引号,否则索引失效。

作者:openoter

链接:https://www.jianshu.com/p/8e5d39be8635

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • 如何查看mysql数据库操作日志记录

    如何查看mysql数据库操作日志记录 首先确认mysql日志记录是否启用mysql> show variables...

  • mysql 开启慢查询及其用mysqldumpslow做日志分析

    mysql 开启慢查询 mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过...

  • Mysql 慢查询日志

    Mysql 慢查询日志 慢查询日志 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中...

  • MySQL慢查询日志如何开启以及分析

    1、MySQL慢查询日志是什么 (1)MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录MySQL中...

  • Mac MySql命令行

    以下都是记录自己在使用mysql中遇到的命令行进行记录:mysql.server start // 启动mysql...

  • 学习MySQL---ing

    @[toc] Mac MySQL使用教程 本文记录在我的GitHub 记录使用Homebrew安装Mysql全过...

  • MySQL 慢查询分析实践

    mysql默认未开启慢查询记录功能;默认慢查询时间为10秒。 一、mysql开启慢查询日志记录 二、利用mysql...

  • Mysql 游标总结

    Mysql 游标总结 在MySql中的查询语句能返回多条记录结果,那么表达式中如何遍历这些记录结果?在MySql中...

  • mysql-慢查询日志

    1、什么是慢查询日志 mysql慢查询日志是mysql提供的一种日志记录,它用来记录在MySQL中响应时间超过...

  • MySQL慢查询日志总结

    MySQL慢查询日志总结 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MyS...

网友评论

      本文标题:MYSQL记录

      本文链接:https://www.haomeiwen.com/subject/mbaakftx.html