2020.2.4

1.说出一些数据库优化方面的经验?

  1. 从JDBC编程的角度讲,用PreparedStatement一般来说比Statement性能高,因为在使用时,SQL语句被预编译并存储在PreparedStatement对象中,然后可以使用PreparedStatement对象多次高效地执行该语句。
  2. 有外键约束会影响插入和删除的性能可如果程序能后保证数据的完整性,那在设计数据库时就可以去掉外键。
  3. 表中允许适当冗余
  4. SQL语句全部大写,特别是列名和表名都是大写。
  5. 索引对查询性能的改进。

2.你有优化SQL查询数据经验吗?如有能说一下你一般用那些什么方式进行优化?

  1. 用索引提高效率
  2. 选择最有效率的表名顺序(Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表)将最先处理)
  3. WHERE子句中的连接顺序:Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些那一过滤掉最大数量记录的条件必须写在WHERE子句的末尾
  4. SELECT子句中避免使用(*):需要写全查询的字段列名。

3.什么是事务,事务的四个特性是什么?有哪些隔离级别?

1)事务(Transaction):是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作:这些操作作为一个整体一起想系统提交,要么都执行、要么都不执行;事务是一组不可在分割的操作集合(工作逻辑单元);
2)事务具有4个属性,通常称为ACID特性:
2.1原子性(atomicity):事务是一个完整的操作。事务的各步操作是不可分的;要么都执行、要么都不执行。
2.2一致性(consistency):当事务完成是,数据必须处于一致状态。
2.3隔离性(isolation)对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,他不应以任何方式依赖于或影响其他事务。
2.4持久性(durability):事务完成后,它对数据库的修改被永久保存,事务日志能保持事务的永久性。
3)隔离级别分为:Read Uncommitted(读未提交),Read Committed(读提交),Repeatable Read(可以重复读),Serializable(序列化)这4中级别。

发布了33 篇原创文章 · 获赞 16 · 访问量 6125

猜你喜欢

转载自blog.csdn.net/qq_37881565/article/details/104167559