尽管上一篇的内容,对于初学者来说,已经算是稍微有点难度了,但是对于有一点工作经验的开发人员来说,仍然算不上有难度,所以这一篇将从面试的角度,总结一下需要了解的知识点,这一篇将只列知识点,不给答案,或者给一个大致的方向。如果要面试的人,也可以试着回答以下问题。如果你现在不想深入研究MYSQL,毕竟人的精力都是有限的,也可以把以下内容,放入到你的TODO LIST中去,以后再慢慢研究,我的建议是,每个编程的人,都应该有一个自己编程的笔记本,例如微软的ONE NOTE,印象笔记、苹果的备忘录(我正在用),然后有一个笔记,是专门存放要做的事情的,在任何时候,任何地点,遇到了不会的东西,立即放入TODO LIST中去。这也是一种编程思想,你想一下,消息队列(MQ)是不是就是这个思路,很多地方都是这个思路,这里就不一一列举了。

1、索引篇

  • mysql哪些索引会命中,哪些不会命中?
  • 怎么查看mysql索引是否命中? explain查看执行计划
  • 联合索引哪些情况索引会命中? 哪些不会呢?
  • mysql底层索引是什么数据结构? B+树
  • 聚簇索引和覆盖索引有什么区别?
  • mysql索引为什么快?
  • mysql索引为什么用B+,而不是B树?
  • 建了索引一定就会快吗? 不是
  • 建了索引,且索引命中了,就一定会快吗?不是
  • varchar类型的列有100个长度,适合建索引吗? 如果不适合,怎么解决?
  • 哪些列适合建索引? 区分度大的列适合,像ID
  • 哪些列不适合建索引? SEX这种 text 长度大的varchar
  • varchar和char有什么区别?
  • 索引有什么坏处? 新增和更新、删除慢了点,占用磁盘空间大了点等等
  • 什么是慢SQL?怎么查看MYSQL的慢SQL?
  • 做过哪些MYSQL的查询优化?

2、事务篇

之前的内容没有讲解事务,但是高级开发人员是必须精通事物的,本篇不打算讲解事务,只给出几个问题,网上的资料也很多,可以自己去找一下

  • 什么是事务?
  • 事务的4个特性是什么? ACID
  • 分别解释ACID是什么意思?
  • 事务的隔离级别有几种?MYSQL默认是什么级别?
  • 什么是脏读、不可重复读、幻读?
  • MVCC和事务隔离级别的关系?
  • 事务的传播机制是什么?
  • @Transactional哪些情况会失效?

3、锁篇

  • 什么是间隙锁?
  • 什么是行锁?
  • 死锁是怎么产生的?
  • 怎么避免死锁?
  • 事务和锁是什么关系?

4、安全

  • 什么是SQL注入?
  • 怎么避免SQL注入?
  • mybatis中#和$的区别

5、其它

  • 电商的订单号可以用自增ID吗?
  • (延伸)怎么设计1个分布式的自增ID,要求不能重复,高性能,高可用。
  • innerDB的自增ID,断电重启之后会怎么样?
  • 数据库字段设计有哪些经验?
  • timestamp和datetime有什么区别?
  • MYSQL支持模糊查询吗?
  • 看过MYSQL的慢日志吗?
  • 数据库连接池用的哪个?
  • 为什么要用连接池?
  • 连接池各个参数设置的都是多少?

如果想更深入的学习MYSQL,可以看一下<高性能MYSQL>这本书,讲的会更细,对于MYSQL的执行流程、索引、缓存、调优等都有特别深入的讲解,远远比这篇文章讲的要多的多。

全文完。

关注我的博客,获取更多Java编程知识: 双King的技术博客

JAVA新手入门06~MYSQL提高篇2相关推荐

  1. Java新手入门200例124之用JDBC连接Mysql数据库

    文章目录 作者简介 引言 导航 热门专栏推荐 一.创建web项目 二.加入Mysql驱动 三.编写查询代码 四.测试查询代码 五.编写插入代码 六.编写修改代码 七.编写删除代码 小结 导航 热门专栏 ...

  2. java新手入门学习指南

    java新手入门学习指南由 android杂谈网原创. 0.准备 1.JDK安装和环境变量配置 2. 安卓开发环境搭建 3.熟悉eclipse开发环境,并使用eclipse创建第一个java应用程序 ...

  3. 视频剪辑用什么软件?新手入门看这一篇就够!

    视频剪辑用什么软件可以简单地做出好看的视频?这个问题应该很多视频剪辑新手都会遇到,本篇会整理一些自己亲测好用的视频剪辑软件推荐给大家,赶紧往下看吧! 视频剪辑用什么软件 蜜蜂剪辑 右糖 爱拍 iMov ...

  4. java精品入门-0基础第一篇

    1. 计算机基础知识 1.1 计算机 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计 ...

  5. Java新手入门的30个基本概念

    Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网 ...

  6. java 新手入门电子书_Java基础入门指导(适合所有初学者).pdf

    来源:小天使笔记本防盗软件官网 () 第 章 Java 语言概述与面向对象思想 . Java 语言的发展 . . Java 语言的产生 . .2 Java 语言的发展 .2 Java 语言的特点 2 ...

  7. 适合Java新手入门的控制台程序练习题

    这里面整理的都是我当初从小白入门时练习过的编码题,特此来整理一下,大家可以通过下面的编码题来逐渐提升自己的编码逻辑力集业务逻辑思考力.这里边的代码答案都是我自己编写的,有任何问题欢迎大家反馈指教哈.共 ...

  8. MySQL新手入门:MySQL数据库的启动与连接

    上一篇文章,讲解了MySQL数据库的安装,本文将会讲解MySQL数据库的启动及连接. MySQL数据库安装完成后,其实已经是启动状态了,但是,有时候修改了MySQL的配置文件(my.ini),需要重新 ...

  9. Java从入门到精通——数据库篇之JAVA中的对Oracle数据库操作

    在Java中对Oracle数据库的操作分为两种:一.查询.二.非查询. 下面是我对其进行总结: 一.查询数据 /** * 根据用户代码查询* @param userId* @return 如果存在返回 ...

最新文章

  1. 中国财团收购飞利浦照明业务遭美封杀
  2. 最聪明女生集结清华,挑战人工智能
  3. delphi中的指针与C类似
  4. Android源码分析--MediaServer源码分析(一)
  5. ITK:计算矢量图像的梯度
  6. 补码(为什么按位取反再加一):告诉你一个其实很简单的问题
  7. CentOS系列启动流程和内核原理(5系列,6系列,7系列)
  8. 介词at_介词逻辑| 离散数学
  9. dsc linux 软件安装_介绍一个linux各软件安装教程网站linuxize
  10. Atitit codeblock c++开发环境建立attilax总结
  11. vmware使用教程
  12. 外卖行业现状分析_中国在线餐饮外卖行业分析报告(附全文)
  13. 电商经验!补单防止骗子退款技巧
  14. 联想电脑尺寸在哪里看_图文教你如何查看thinkpad的型号_查看thinkpad型号的方法-系统城...
  15. 用Python写个开心消消乐小游戏!自己写的游戏就是好玩!
  16. opencv与openmv?
  17. 自动柜员机是不是微型计算机,第三章微型计算机基础知识.pptx
  18. 百度wz搜索竞价推广关键词转化成本计算
  19. 一、CentOS7.4下Elastic Stack 6.2.4日志系统搭建
  20. 【git】Git 指令统计代码行数

热门文章

  1. 回首2015:定义游戏行业的五大趋势
  2. AnnotationFormatterFactory简单理解
  3. 【题目】【3天】猜字游戏
  4. PS如何做超酷墨迹飞溅人物海报特效
  5. 费米面嵌套(Fermi_Surface nesting)
  6. HOG+SVM行人检测
  7. OsgEarth下给地球添加网格、鹰眼
  8. 申宝概述光刻胶等概念表现抢眼
  9. android老 电池,安卓想要用三年?5000mAh电池不能少,这5款符合标准价格不贵
  10. Java 堆排序详解