MySQL必会知识点
说说你对与MySQL常见的两种存储引擎:MyISAM与InnoDB的理解
1 | 关于二者的对比与总结: |
为什么要用 ORM? 和 JDBC 有何不一样?
1 | orm是一种思想,就是把object转变成数据库中的记录,或者把数据库中的记录转变成object,我们可以用jdbc来实现这种思想,其实,如果我们的项目是严格按照oop方式编写的话,我们的jdbc程序不管是有意还是无意,就已经在实现orm的工作了。 |
存储过程与触发器的区别?
1 | 触发器与存储过程非常相似,触发器也是SQL语句集,两者唯一的区别是触发器不能用EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发(激活)执行。 |
Mysql如何为表字段添加索引???
1.添加PRIMARY KEY(主键索引)
ALTER TABLE
table_nameADD PRIMARY KEY (column)
2.添加UNIQUE(唯一索引)
ALTER TABLE
table_nameADD UNIQUE (column)
3.添加INDEX(普通索引)
ALTER TABLE
table_nameADD INDEX index_name (column)
4.添加FULLTEXT(全文索引)
ALTER TABLE
table_nameADD FULLTEXT (column)
5.添加多列索引
ALTER TABLE
table_nameADD INDEX index_name (column1,column2,column3)
为什么要使用索引?
1 | 1.通过创建唯一性索引,可以保证数据库中每一行的数据的唯一性 |
索引这么多优点,为什么不对表中的每一个列创建一个索引?
1 | 1.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度 |
索引是如何提高查询速度的?
1 | 将无序的数据变成相对有序的数据(就像查目录一样) |
使用索引的注意事项
1 | 1.在经常需要搜索的列上,可以加快搜索的速度 |
MySQL索引主要使用的两个数据结构
1 | 1.哈希索引 |
MyISAM和InnoDB实现BTree索引方式的区别
1 | 1.MyISAM |
覆盖索引
1 | 1.什么是覆盖索引 |
选择索引和编写利用这些索引的查询的3个原则
1 | 1. 单行访问是很慢的。特别是在机械硬盘存储中(SSD的随机I/O要快很多,不过这一点仍然成立)。如果服务器从存储中读取一个数据块只是为了获取其中一行,那么就浪费了很多工作。最好读取的块中能包含尽可能多所需要的行。使用索引可以创建位置引,用以提升效率。 |
你有没有做MySQL读写分离?如何实现MySQL的读写分离?MySQL主从复制原理的是啥?如何解决mysql主从同步的延时问题?
1 | 1、基于主从复制架构;搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。 |