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 © 王守昌 |