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