MySQL介绍

MySQL介绍包括如下几个方面

  • Mysql引擎
  • 索引结构分类

Mysql引擎

  • MyISAM:不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有
  • InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。(提供行级锁);支持自动增长列,支持外键约束
  • InnoDB不支持全文索引,而MyISAM支持
  • Memory存储引擎使用存在于内存中的内容来创建表
  • Merge存储引擎是一组MyISAM表的组合,这些MyISAM表必须结构完全相同,merge表本身并没有数据,对merge类型的表可以进行查询,更新,删除操作,这些操作实际上是对内部的MyISAM表进行的

索引结构分类

  • BTree索引:B-Tree索引可以被用在像=,>,>=,<,<=和BETWEEN这些比较操作符上;而且还可以用于LIKE操作符;

    • 1.对于多列索引的使用场景:1).全字段匹配;2).匹配部分最左前缀;  3). 匹配第一列;4).匹配第一列范围查询(可用用like a%,但不能使用like %b);5).
最左前缀:查询条件中的所有字段需要从左边起按顺序出现在多列索引中,查询条件的字段数要小于等于多列索引的字段数,中间字段不能存在范围查询的字段(<,like等),这样的sql可以使用该多列索引。
  • Hash索引:哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值

    • 1.它们只能用于对等比较,例如=和<=>操作符(但是快很多)。它们不能被用于像<这样的范围查询条件。假如系统只需要使用像“键值对”的这样的存储结构,尽量使用hash类型索引。
    • 2.优化器不能用hash索引来为ORDER BY操作符加速。(这类索引不能被用于搜索下一个次序的值)
    • 3.mysql不能判断出两个值之间有多少条数据(这需要使用范围查询操作符来决定使用哪个索引)。假如你将一个MyISAM表转为一个依靠hash索引的MEMORY表,可能会影响一些语句(的性能)。
    • 4.只有完整的键才能被用于搜索一行数据。(假如用B-tree索引,任何一个键的片段都可以用于查找。我觉得可能意味着带通配符LIKE操作符会不起作用)。
  • full-text全文索引

参考文章:
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值