什么是MySQL
Mysql是一种关系型数据库(解释),在java企业级开发中非常常用,因为MySQL是开源的,所以方便扩展,任何人都可以在GPL(General Public License)的许可下根据个性化的需求对其进行修改。
为什么要使用索引
通过创建索引使得每一行数据都是唯一的
可以大大加快检索速度
什么是最左前缀原则
MySQL中的联合索引,如User表的name和city加联合索引就是(name,city),而最左前缀原则指的是,如果查询的时候查询条件精确匹配索引的左边连续一列或几列,则此列就可以被用到。
select * from user where name=xx and city=xx ; //可以命中索引
select * from user where name=xx ; // 可以命中索引select * from user where city=xx ; // 无法命中索引
MyISAM与InnoDB区别
MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB