数据库
huxuhang
这个作者很懒,什么都没留下…
展开
-
mysql两种存储引擎的区别
MyISAM: 不支持事务,但是每次查询都是原子的; 支持表级锁,即每次操作是对整个表加锁; 存储表的总行数; 一个MYISAM表有三个文件:索引文件、表结构文件、数据文件; 采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。 InnoDb: 支持ACID的事务,支持事务的四种隔离级别; 支持行级锁及外键约束:因此可以支持写并发; 不存储总行...原创 2019-06-25 16:20:49 · 233 阅读 · 0 评论 -
sql优化
1、一定不要使用select * ,因为会返回过多无用的字段会降低查询效率。应该使用具体的字段代替*,只返回使用到的字段。 2、不要在where条件中使用左边是%的like模糊查询,这样会导致数据库引擎放弃索引进行全表扫描。 ...原创 2019-06-25 17:25:29 · 95 阅读 · 0 评论 -
乐观锁和悲观锁解析
乐观锁: 乐观锁认为一般情况下数据不会造成冲突,所以在数据进行提交更新时才会对数据的冲突与否进行检测。如果没有冲突那就OK;如果出现冲突了,则返回错误信息并让用户决定如何去做。 乐观锁在数据库上的实现完全是逻辑的,数据库本身不提供支持,而是需要开发者自己来实现。 版本号控制的原理: 1、为表中加一个 version 字段; 2、当读取数据时,连同这个 version 字段一起读出; 3、数据每更新...原创 2019-06-27 15:11:46 · 201 阅读 · 0 评论