摘要: PreparedStatement是预编译的,对于批量处理可以大大提高效率.也叫JDBC存储过程。PreparedStatement对象不仅包含了SQL语句,而且大多数情况下这个语句已经被预编译过,因而当其执行时,只需DBMS运行SQL语句,而不必先编译。当你需要执行Statement对象多次的时候 阅读全文
posted @ 2019-10-07 21:27 流浪的猫遇上笨小孩 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 当客户发送一条SQL语句给服务器后,服务器总是需要校验SQL语句的语法格式是否正确,然后把SQL语句编译成可执行的函数,最后才是执行SQL语句。其中校验语法,和编译所花的时间可能比执行SQL语句花的时间还要多。注意:可执行函数存储在MySQL服务器中,并且当前连接断开后,MySQL服务器会清除已经存 阅读全文
posted @ 2019-10-07 17:01 流浪的猫遇上笨小孩 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1. 事务是一系列的数据库操作,是数据库应用的基本逻辑单位。 2. 事务性质:原子性、一致性、隔离性、持久性。 3. 原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。 一致性(可串性):事务的执行使得数据库从一种正确状态转换成另一种正确状态 隔离性:在事务正确提交之前,不允许把该事务对 阅读全文
posted @ 2019-10-07 16:15 流浪的猫遇上笨小孩 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 脏读,幻读,修改丢失,不可重复读 阅读全文
posted @ 2019-10-07 16:11 流浪的猫遇上笨小孩 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 1. InnoDB:支持事务、外键、行级锁,支持崩溃后安全修复,提供了具有提交、回滚和崩溃恢复能力的事务安全存储引擎; 2. MyISAM:不支持事务、外键,不支持行级锁只支持到表级锁,不支持崩溃后安全修复; 3. InnoDB主键查询性能高于MyISAM,MyISAM性能高于InnoDB。 4. 阅读全文
posted @ 2019-10-07 16:01 流浪的猫遇上笨小孩 阅读(351) 评论(0) 推荐(0) 编辑
摘要: MySQL查询缓存功能是在连接器之后发生的,它的优点是查询效率高,如果已经有缓存则直接返回缓存结果。缺点是失效太频繁导致缓存命中率比较低,任何更新表操作都会清空查询缓存,因此导致查询缓存非常容易失效。 阅读全文
posted @ 2019-10-07 15:40 流浪的猫遇上笨小孩 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 1. 概念: 存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后再改程序中可以调用多次。如果某次操作需要执行多次SQL,使用存储过程就比单纯的SQL语句执行要快。 2. 优点: 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行 阅读全文
posted @ 2019-10-07 14:41 流浪的猫遇上笨小孩 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 触发器是一种特殊的存储过程,主要通过事件的触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化,可以进行联级运算,比如某个表上的触发器包含对另一张表的数据操作,而该操作又会导致该表触发器被触发。 阅读全文
posted @ 2019-10-07 13:47 流浪的猫遇上笨小孩 阅读(2005) 评论(0) 推荐(0) 编辑
摘要: 1. 第一范式(1NF, 关系模式R的所有属性都是不可分的基本数据项) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列(即每个属性)都是不可分割的基本数据项,同一列中不能有多个值,即实体 阅读全文
posted @ 2019-10-07 00:30 流浪的猫遇上笨小孩 阅读(6779) 评论(0) 推荐(1) 编辑
摘要: 1. 完全依赖: 通过{学生学号, 选修课程名}可以得到{该生本门选修课程的成绩},而通过单独的{学生学号}或者单独的{选修课程名}都无法得到该成绩,则说明{该生本门选修课程的成绩}完全依赖于{学生学号,选修课程名} 2. 部分函数依赖: 通过{学生学号,课程号}可以得到{该生姓名},而通过单独的{ 阅读全文
posted @ 2019-10-07 00:28 流浪的猫遇上笨小孩 阅读(21915) 评论(1) 推荐(10) 编辑