
mysql
文章平均质量分 79
mistyraine
这个作者很懒,什么都没留下…
展开
-
mysql事务实现原理
redolog:重做日志,用来实现事务的持久性,记录已成功提交事务的修改信息mysql 为了提升性能不会把每次的修改(update,delete,insert)都实时同步到磁盘,而是会先存到Buffer Pool(缓冲池)里头,把这个当作缓存来用。然后使用后台线程去做缓冲池和磁盘之间的同步。mysql读数据:会首先从缓冲池中读取,如果缓冲池中没有,则从磁盘读取在放入缓冲池; mysql写数据:会首先写入缓冲池,缓冲池中的数据会定期同步到磁盘中;那么问题来了,如果还没来...原创 2021-03-01 00:25:44 · 256 阅读 · 0 评论 -
mysql锁详解
mysql锁详解1.数据库锁机制数据库提供两种锁:表锁和行锁myisam存储引擎支持表锁innodb存储引擎支持表锁和行锁行锁分两种:共享锁和排它锁共享锁:当数据被加上共享锁时,其他事务能对它进行查操作、加共享锁操作,但不能进行删改操作、加排它锁操作排它锁:当数据对象被加上排它锁时,其他事务只能对数据进行查操作,且查的是被锁前的数据行锁是在索引上加锁,所以只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁!意向锁:意向共享锁和意向排它锁,innodb为了允许行原创 2020-10-19 20:23:58 · 141 阅读 · 2 评论 -
mysql与mysqli的异同点
1)安全性、稳定性更高;2)提供了面向对象和面向过程两种风格php.ini 中的 extension=php_mysqli.dll 解除封印1.什么是mysqliPHP-MySQL 函数库是 PHP 操作 MySQL 资料库最原始的扩展库,PHP-MySQLi 的 i 代表 Improvement ,相当于前者的增强版,也包含了相对进阶的功能,另外本身也增加了安全性,比如可以大幅...原创 2019-05-23 14:14:01 · 130 阅读 · 0 评论 -
mysql性能优化
1.获取唯一行时使用LIMIT 1有时当你查表时,你已经知道你正在查找的结果只有一行。你可能正在获取唯一记录,或者你可能只是查询是否存在满足你的WHERE子句条件的记录。在这种情况下,将LIMIT 1添加到查询条件中可以提高性能。这样,数据库引擎将在找到刚刚第一个记录之后停止扫描记录,而不是遍历整个表或索引。2.避免使用SELECT *,指定你要搜索的字段从数据表中...原创 2019-05-23 14:15:28 · 158 阅读 · 0 评论 -
mysql索引
概要:没有索引的情况下,数据库会遍历全部200条数据后选择符合条件的;而有了相应的索引之后,数据库会直接在索引中查找符合条件的选项。如果我们把SQL语句换成“SELECT * FROM article WHERE id=2000000”,那么你是希望数据库按照顺序读取完200万行数据以后给你结果还是直接在索引中定位呢?1. 索引只能用在非空的字段上,因此设计数据库的时候字段能非空就非...原创 2019-05-23 14:17:17 · 133 阅读 · 0 评论 -
mysql事务
事务的性质1.原子性一组事务,要么成功,要么完全撤回。2.一致性事务处理前后数据的一致性必须保持一致。(比如a转给b 100元,如果中途出现问题,不会出现a,b账上总金额少了100的情况)3.隔离性事务之间是相互隔离的,如果一个事务的操作影响了另一个事务,则另一个事务撤回,会牺牲速度4.持久性事务如果执行成功,它的影响会永远记录在数据库里5.概念脏读∶指...原创 2019-05-23 14:19:03 · 122 阅读 · 0 评论 -
mysql锁
1.数据库提供的两种锁的类型共享锁:当数据对象被加上共享锁时,其他事务能对它进行读操作但不能进行写操作排它锁:当数据对象被加上排它锁时,其他事务不能进行读和写操作2.web开发解决并发问题时常用的两种锁1.乐观锁:在加锁的表中加一个字段代表版本号,通过版本号来控制并发,只有在更新的时候会判断是否加锁,这种模式是通过程序来实现的。 优点:不会阻止除程序外的数...原创 2019-05-24 08:06:13 · 122 阅读 · 0 评论