金三银四跳槽季(八)数据库

1、mysql分页有什么优化

2、悲观锁、乐观锁

3、组合索引,最左原则

4、mysql 的表锁、行锁

5、mysql 性能优化

6、mysql的索引分类:B+,hash;什么情况用什么索引

7、事务的特性和隔离级别

8 、一条sql执行过长的时间,你如何优化,从哪些方面?

  • 查看sql是否涉及多表的联表或者子查询,如果有,看是否能进行业务拆分,相关字段冗余或者合并成临时表(业务和算法的优化);
  • 涉及链表的查询,是否能进行分表查询,单表查询之后的结果进行字段整合;
  • 如果以上两种都不能操作,非要链表查询,那么考虑对相对应的查询条件做索引。加快查询速度;
  • 针对数量大的表进行历史表分离(如交易流水表);
  • 数据库主从分离,读写分离,降低读写针对同一表同时的压力,至于主从同步,MySQL有自带的binlog实现 主从同步;
  • explain分析sql语句,查看执行计划,分析索引是否用上,分析扫描行数等等;
  • 查看mysql执行日志,看看是否有其他方面的问题;
  • 个人理解:从根本上来说,查询慢是占用mysql内存比较多,那么可以从这方面去酌手考虑。

9、索引的作用?和它的优点缺点是什么?

索引就一种特殊的查询表,数据库的搜索可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

10、什么样的字段适合建索引

唯一、不为空、经常被查询的字段

1)msyql优化经验:
2)mysql的语句优化,使用什么工具;
3)mysql的索引分类:B+,hash;什么情况用什么索引;
4)mysql的存储引擎有哪些,区别是什么;
5)说说事务的特性和隔离级别;
6)悲观锁和乐观锁的区别,怎么实现;

1)如何进行sql优化?如何进行性能检测
2)有哪几种索引类型及应用场景
3)主备同步是如何进行的,原理是什么
4)分库分表有哪几种分法,如何解决数据分布不均匀的问题,如果避免查询某个字段扫全库全表的情况
5)事务隔离级别有哪几种,默认是哪个
6)如何解决幻读问题
7)读写分离方案
8)有哪几种引擎及应用场景

猜你喜欢

转载自blog.csdn.net/dreamsunday/article/details/80054264