mysql
文章平均质量分 90
奈斯菟咪踢呦
联系电话:15718879112
展开
-
数据库事务的特性和隔离级别
如果一个数据库声称支持事务的操作,那么数据库必须要具备一下四个特性,也就是我们常说的ACID原子性原子性是指事务包含的所有操作要么全部成功,要么全部失败会滚,因为事务的操作如果成功就必须完全应用到数据库,如果操作失败则不能有任何影响。一致性一致性是指事务必须使数据库从一个一致性状态转换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和B的钱加起来一共是5000,那么A和B之间如何转账,转几次,事务结束后,两个用户的钱加起来应该还是5000,这就是事转载 2022-04-17 22:29:21 · 95 阅读 · 0 评论 -
Mysql的索引为什么用B+树?InnoDB的数据存储文件和MyISAM有何不同?
为什么需要建立索引?首先我们知道建立索引的目的是提高查询速度,那么为什么有了索引就可以提高查询速度呢?我们看下,一个索引示意图:如果我有个sql语句是:select * from table where id=15 那么在没有索引的情况下其实是会进行全表扫描的,就是挨个去查找。直到找到id为15的这条记录,时间复杂度为O(n)。如果在有索引的情况下查询,首先会根据id=15,在索引值里面进行二分查找,二分查找的效率很高,他的时间复杂度是O(logn)。这就是索引为什么能提高查询效率,但是索引数据的转载 2022-04-17 21:58:25 · 181 阅读 · 0 评论 -
MySql是如何实现事务的ACID
事务的四大特性事务的四大特性ACID分别是,A-原子性(Atomicity)、C-一致性(Consistency),I-隔离性(Isolation)、D-持久性(Durability)。一致性是最终的目的,原子性、隔离性、持久性是为了保证一致性所做的措施。原子性原子性就是指一个事务就是一个不可分割的工作单元,要么全部执行成功,要么全部执行失败,没有中间状态或者只执行一部分。mysql的InnoDB引擎是靠ubdo log(回滚日志)来实现的。undo log能够保证在事务回滚时,撤销所有所有已经执行成转载 2022-04-10 13:49:34 · 1040 阅读 · 0 评论 -
mysql时间字段的创建要点
一般建表时候,创建时间用datetime,更新时间用timestamp。这是非常重要的。我测试了一下,如果你的表中有两个timestamp字段,只要你更新任何非timestamp字段的值,则第一个timestamp列会更新成当前时间,而第二人timestamp列的值不变。————————————————————————-MySQL5日期类型DATETIME和TIMESTAMP 相关问题详解...原创 2019-10-12 17:30:28 · 504 阅读 · 0 评论 -
mysql处理数据提高查询速度的方法
1、应尽量避免在 where 子句中使用!=或2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没原创 2018-01-12 18:02:27 · 481 阅读 · 0 评论 -
存储过程
存储过程一般处理比较复杂的任务,基础ms这个平台,可以大大降低耗时,其编译机制也提高了数据库执行速度。当然在系统控制方便方面,例如当系统进行调整时,这是只需要将后台存储过程进行更改,而不需要更改客户端程序,也不需要重新安装客户端应用程序。存储过程不仅仅适用于大型项目,对于中小型项目,使用存储过程也是非常有必要的。其威力和优势主要体现在: 1、存储过程只在创造时进行编译,以后每次执行存储过...转载 2018-05-22 11:40:49 · 425 阅读 · 0 评论 -
经典数据库sql练习
经典练习: 四张表:学生表 、老师表、课程表、成绩表学生表 :CREATE TABLE `student` ( `student_number` int(10) NOT NULL AUTO_INCREMENT COMMENT '学生学号', `student_name` varchar(50) NOT NULL COMMENT '学生姓名', `student_age` in...原创 2018-05-29 17:29:14 · 396 阅读 · 0 评论