- 什么是存储过程、优缺点
存储过程是一个预编译的sql语句,只需要创建一次,可以调用多次。
如果某次操作需要执行多次sql,那么选择使用存储过程速度会更快。
- 优点:效率高、安全性高、减少网络传输、可维护、可扩展
- 缺点:移植性差、开发调试复杂
- 索引的作用、优缺点
索引是特殊的查询表,类似查询目录。
- 优点:加快数据检索速度
- 缺点:数据录入速度减慢,增加数据库大小
- 什么样的字段适合建索引
唯一、不为空、常被查询的字段 - 什么是事物
事务是一系列严密的操作,所有操作必须成功完成,任何一个语句操作失败都会使整个操作失败,就会回滚到操作前状态。 - 事物的特性
- 原子性,要么执行,要么不执行
- 隔离性,所有操作全部执行完以前,其它会话不能看到过程
- 一致性,事务前后,数据总额一致
- 持久性,一旦事务提交,对数据的改变就是永久的
- 什么是视图,优缺点
视图是一种虚拟表,可以增、改、查,对视图的修改会影响基本表。
- 优点:可以有选择性的选取数据库中的一部分、简化数据操作、数据有一定的安全性
- 缺点:性能差、修改限制
- 简述三大范式
1NF:原子性,不可再分
2NF:属性完全依赖于主键
3NF:非主属性不传递依赖其他非主属性 - 主键和外键的区别
逐渐确定一条记录的唯一标识,外键用于与另一张表的关联,保持数据一致性 - MySQL常见的函数
- 聚集函数:
avg()平均值
sum()和
min()最小值
max()最大值
count()行数 - 字符串处理函数
left()从左开始截取
right()从右开始截取
substring()截取字符串
substring_index()按关键字截取字符串 - 数值处理函数
abs()绝对值
ceil()向上取整
floor()向下取整
mod()取模
rand()随机数
round()四舍五入 - 时间处理函数
now()当前日期时间
month(date)日期中选择月份
year(date)日期中选出年份
hour(time)日期中选出小时
- 高并发访问数据库优化方法
- 服务器配置优化
- 使用负载均衡技术
- 数据库结构设计
- 中间件的优化
- 数据缓存技术的使用
- 查询语句速度慢,如何优化
- 建索引
- 减少表之间的关联
- 优化sql,少做全表查询
- 简化查询字段
- 返回结果控制,尽量返回少量数据
- 尽量使用PreparedStatement代替Statement
(PreparedStatement代码的可读性和可维护性高,提高性能,提高了安全性)
- Oracle和Mysql的区别
- 库函数不同
- Oracle用表空间来管理,Mysql不是
- 显示当前所有的表、用户、改变连接用户、显示当前连接用户、执行外部脚本的语句的不同
- 分页查询时候时候,mysql用limit,oracle用rownum
- 封锁?封锁的基本类型?含义?
封锁是当一个事务在对某个数据对象(数据项、记录、数据集、以至整个数据库)进行操作之前,必须获得相应的锁,以保证数据操作的正确性和一致性。
类型:排它锁、共享锁
- 排它锁:简称为X锁,采用原理是禁止并发操作。
- 共享锁:简称为S锁,采用原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改。
- Delete、truncate、drop的区别
- delete 属于DML,删除数据,保留表结构,需要commit,可以回滚,数据量大较慢。
- truncate 属于DDL,删除所有数据,保留表结构,自动commit,不能回滚,一次全部删除所有数据,速度相对较快。
- Drop属于 DDL,删除数据和表结构,不需要commit,删除速度最快。
MongoDB相关知识整理
- MangoDB的特点
- 高性能、易部署、易使用
- 面向集合存储、易存储对象类型
- 支持动态查询、完全索引、复制、故障恢复
- 二进制数据存储,包括大型对象(如视频)
- 自动处理碎片
- 支持Python、PHP、Ruby、Java、C、C#、JavaScript、C++等语言驱动程序
- 文件存储格式BSON
- 可通过网络访问
- MangoDB适用场合
- 更高的写入负载:适合有大量低价值数据的场景(低事物安全性)。
- 高可用性:MangoDB可以快速响应处理结点故障,自动、安全,适用于相对不稳定的环境中,保持高可用性(云主机)。
- 大量数据或未来即将很大的数据:MySQL完成数据扩展较难,但MongoDB内建多种数据分片特性,能很好的适应大量数据的需求。
- 基于位置的数据查询:MangoDB支持二维空间索引,能快速、精准的从指定位置获取数据。
- 表结构不明确,且数据不断变大
网友评论