218 lines
7.1 KiB
Plaintext
218 lines
7.1 KiB
Plaintext
|
Keven King
|
|||
|
编程人生
|
|||
|
随笔 - 91, 文章 - 0, 评论 - 11, 引用 - 0
|
|||
|
MySQL 经典面试题
|
|||
|
MySQL 面试 1 存储过程
|
|||
|
|
|||
|
什么是存储过程
|
|||
|
存储过程是一些编译好的SQL语句
|
|||
|
因为系统在调用SQL的时候比较浪费时间,所以之前先将一些基本的额SQL语句代码进行编译(对单表或多表的增删改查),然后再给代码取一个名字,在需要这个功能时去调用它就可以了。
|
|||
|
优缺点
|
|||
|
存储工程是编译后的代码 效率高
|
|||
|
存储过程代替SQL语句,降低网络通信
|
|||
|
在一定的程度确保数据安全
|
|||
|
2 索引
|
|||
|
|
|||
|
索引是什么
|
|||
|
索引是对数据库中一或多个列值的排序,帮助数据库高效获取数据的数据结构
|
|||
|
假如我们用类比的方法,数据库中的索引就相当于书籍中的目录一样,当我们想找到书中的摸个知识点,我们可以直接去目录中找而不是在书中每页的找,但是这也抛出了索引的一个缺点,在对数据库修改的时候要修改索引到导致时间变多。
|
|||
|
几个基本的索引类型 普通索引 唯一索引 主键索引 全文索引
|
|||
|
索引优点
|
|||
|
加快检索速度
|
|||
|
唯一索引确保每行数据的唯一性
|
|||
|
在使用索引的过程可以优化隐藏器,提高系统性能
|
|||
|
|
|||
|
|
|||
|
索引缺点
|
|||
|
插入删除 修改 维护速度下降
|
|||
|
占用物理和数据空间
|
|||
|
3 事务
|
|||
|
|
|||
|
事务的作用
|
|||
|
事务(Transaction)是并发控制的基本单位。事务就是一系列的操作,这些操作要么都执行,要么都不执行。
|
|||
|
事务具有以下4个基本特征
|
|||
|
Atomic(原子性) 事务中的一系列的操作要么都完成,要么全部失败
|
|||
|
Consistency(一致性) 一个成功的事务应该讲数据写入的到数据库,否则就要回滚到最初的状态
|
|||
|
Isolation(隔离性) 并发访问和修改的duli
|
|||
|
Durability(持久性) 事务结束应该讲事务的处理结构存储起来
|
|||
|
事务的语句
|
|||
|
开始事物:BEGIN TRANSACTION
|
|||
|
提交事物:COMMIT TRANSACTION
|
|||
|
回滚事务:ROLLBACK TRANSACTION
|
|||
|
4 数据库中的乐观锁和悲观锁
|
|||
|
|
|||
|
根据不同类型可以对数据设置不同的锁权限
|
|||
|
** 乐观 悲观 锁 主要是作用在并发访问控制**
|
|||
|
悲观锁 假定会发生并发冲突,屏蔽任何违反数据完整的操作
|
|||
|
乐观锁 假定不会发生冲突,只有在提交操作时检查是否违反数据的完整性
|
|||
|
5 drop, delete truncate 的区别
|
|||
|
|
|||
|
三者都是 删除 的意思,但是三者个有些区别
|
|||
|
delete和truncate只删除表的数据不删除表的结构
|
|||
|
速度 drop > truncate > delete
|
|||
|
想删除部分数据时, delete 删除时要带上where语句
|
|||
|
保留表而想删除所有的数据时用 truncate
|
|||
|
6 超键 候选键 主键 外键 区别
|
|||
|
|
|||
|
超键 在关系中能唯一标识元组的属性集称为关系模式的超键 ,一个或多个属性组合在一起作为超键。
|
|||
|
候选键 最下超键,没有冗余元素的超键
|
|||
|
主键 数据库中表中唯一和完整标识的数据列或属性集合。
|
|||
|
外键 在一个表中存在另外一个表的主键叫做外键 7视图
|
|||
|
|
|||
|
定义 视图是一种虚拟表,可以对视图进行增删查改 。可以将一个表多个表组合成一个视图。对视图的修改不影响基本表。 8 数据库三大范式介绍
|
|||
|
1NF 字段是最小单元,不可再分
|
|||
|
2NF 满足1NF 表中字段必须完全依赖全部主键而并非部分主键
|
|||
|
|
|||
|
|
|||
|
3NF 满足2NF,非主键外的所有字段必须互不依赖
|
|||
|
4.数据库三范式
|
|||
|
第一范式 字段具有原子性,不可再分
|
|||
|
第二范式 表中的每列都和主键相关
|
|||
|
第三范式 每列都和主键列直接相关,而不是间接相关
|
|||
|
|
|||
|
好文要顶 关注我 收藏该文
|
|||
|
|
|||
|
王守昌
|
|||
|
关注 - 0
|
|||
|
粉丝 - 9
|
|||
|
+加关注
|
|||
|
0
|
|||
|
0
|
|||
|
« 上一篇: MongoDB分片原理篇
|
|||
|
» 下一篇: 类图关系以及类图之间箭头表示
|
|||
|
|
|||
|
|
|||
|
posted on 2017-06-01 19:32 王守昌 阅读( 3298 ) 评论( 0 ) 编辑 收藏
|
|||
|
|
|||
|
刷新评论 刷新页面 返回顶部
|
|||
|
注册用户登录后才能发表评论,请 登录 或 注册 , 访问 网站首页。
|
|||
|
【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
|
|||
|
【推荐】Vue.js 2.x 快速入门,大量高效实战示例
|
|||
|
【活动】腾讯云 学生专属优惠套餐 多规格选择
|
|||
|
【活动】释放技术的想象-解码腾讯云软件架构与应用
|
|||
|
|
|||
|
|
|||
|
最新IT新闻 :
|
|||
|
· 京东要用机器人和无人机对抗阿里巴巴 刘强东到底胜算几何?
|
|||
|
· TF Lite只是故事的一部分,谷歌还一并介绍了新的模型压缩方法
|
|||
|
· “大灰狼”远控开发者被曝猝死
|
|||
|
· UC浏览器遭Google Play下架,被指存在隐私问题
|
|||
|
· 董明珠:不反对在国外买技术但真正创造者要自主研发
|
|||
|
» 更多新闻...
|
|||
|
|
|||
|
最新知识库文章 :
|
|||
|
|
|||
|
· 关于编程,你的练习是不是有效的?
|
|||
|
· 改善程序员生活质量的 3+10 习惯
|
|||
|
· NASA的10条代码编写原则
|
|||
|
· 为什么你参加了那么多培训,却依然表现平平?
|
|||
|
· 写给初学前端工程师的一封信
|
|||
|
» 更多知识库文章...
|
|||
|
导航
|
|||
|
博客园
|
|||
|
首页
|
|||
|
新随笔
|
|||
|
联系
|
|||
|
订阅
|
|||
|
管理
|
|||
|
|
|||
|
< 2017年11月 >
|
|||
|
|
|||
|
日 一 二 三 四 五 六
|
|||
|
29 30 31 1 2 3 4
|
|||
|
5 6 7 8 9 10 11
|
|||
|
12 13 14 15 16 17 18
|
|||
|
19 20 21 22 23 24 25
|
|||
|
26 27 28 29 30 1 2
|
|||
|
3 4 5 6 7 8 9
|
|||
|
公告
|
|||
|
昵称: 王守昌
|
|||
|
园龄: 2年5个月
|
|||
|
粉丝: 9
|
|||
|
关注: 0
|
|||
|
+加关注
|
|||
|
搜索
|
|||
|
|
|||
|
|
|||
|
常用链接
|
|||
|
我的随笔
|
|||
|
我的评论
|
|||
|
我的参与
|
|||
|
最新评论
|
|||
|
我的标签
|
|||
|
|
|||
|
随笔分类
|
|||
|
git 学习与记录(1)
|
|||
|
Hadoop 安装(1)
|
|||
|
HTML和CSS(5)
|
|||
|
HTTP权威指南读书笔记(1)
|
|||
|
Java(3)
|
|||
|
java Web 分类 (9)
|
|||
|
Java 线程池(2)
|
|||
|
JavaScript 学习笔记(5)
|
|||
|
Java与设计模式(2)
|
|||
|
Linux (17)
|
|||
|
Maven 笔记(11)
|
|||
|
mongodb 随笔(17)
|
|||
|
python 入门教程
|
|||
|
rabbitmq 安装使用记录
|
|||
|
redis 学习随笔(3)
|
|||
|
thinking in java 笔记(1)
|
|||
|
数据结构与算法(1)
|
|||
|
随笔档案
|
|||
|
2017年10月 (4)
|
|||
|
2017年9月 (10)
|
|||
|
2017年8月 (5)
|
|||
|
2017年6月 (1)
|
|||
|
2017年5月 (15)
|
|||
|
2017年4月 (19)
|
|||
|
2017年3月 (8)
|
|||
|
2016年12月 (29)
|
|||
|
|
|||
|
最新评论
|
|||
|
|
|||
|
1. Re:如何高效学习读书笔记
|
|||
|
@王守昌谢谢。...
|
|||
|
--北落师门α
|
|||
|
2. Re:如何高效学习读书笔记
|
|||
|
@北落师门α用markdown编辑器上编辑,然后直接复制到博客园的编辑框中...
|
|||
|
--王守昌
|
|||
|
3. Re:如何高效学习读书笔记
|
|||
|
@退后一步是人生谢谢...
|
|||
|
--王守昌
|
|||
|
4. Re:如何高效学习读书笔记
|
|||
|
问下,笔记用什么记录的。
|
|||
|
想请教下怎么整理的这么整齐。什么软件上先写好,再粘到园子里的吧。
|
|||
|
--北落师门α
|
|||
|
5. Re:如何高效学习读书笔记
|
|||
|
楼主好总结!!!
|
|||
|
--退后一步是人生
|
|||
|
|
|||
|
阅读排行榜
|
|||
|
|
|||
|
1. eclipse配置maven + 创建maven项目(三)(14634)
|
|||
|
2. 在java中使用MongoDB数据库(4427)
|
|||
|
3. MySQL 经典面试题(3299)
|
|||
|
4. maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet(2843)
|
|||
|
5. 自己把jar包添加到maven仓库中(2157)
|
|||
|
|
|||
|
评论排行榜
|
|||
|
|
|||
|
1. 如何高效学习读书笔记(7)
|
|||
|
2. 在java中使用MongoDB数据库(2)
|
|||
|
3. Maven下载、安装和配置(二)(1)
|
|||
|
4. MongoDB的备份和部署 高级功能索引,聚合复制,分片(1)
|
|||
|
|
|||
|
推荐排行榜
|
|||
|
|
|||
|
1. eclipse配置maven + 创建maven项目(三)(2)
|
|||
|
2. MongoDB 分布式架构 复制 分片 适用性范围(1)
|
|||
|
3. 将eclipse左边目录结构改为 树形结构(1)
|
|||
|
4. 如何高效学习读书笔记(1)
|
|||
|
5. MongoDB分片原理篇(1)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Powered by:
|
|||
|
博客园
|
|||
|
Copyright © 王守昌
|