
数据库
上道至简
学习技术的过程,就是从学习怎么使用,到理解为什么这样用,再到自我创新,进一步优化,深度思考。
展开
-
一文解达梦
一文了解达梦,入门达梦,感受达梦。由浅到深,思考并进,共圆国产数据库梦!原创 2022-06-23 16:44:04 · 2763 阅读 · 1 评论 -
数据库事务管理相关总结
Mysql数据库的事务隔离级别如下:隔离级别 更新丢失 脏读取 重复读取 幻读 读取未提交 N Y Y Y 读取已提交 N N Y Y 可重复读取 N N N Y 串行化 ...原创 2018-05-21 23:36:03 · 150 阅读 · 0 评论 -
Mysql读写分离架构及注意事项
下面实现一个简单的Mysql双主多从的架构,如下图所示:这个架构首先考虑到的是做故障转移,提高可用性,保证整个集群的稳定性。另外我们要注意以下事项:1.当主库发生故障时,能自动切换到备用主库,并且要注意主库恢复后如何继续同步;2.从库应该连接主库的一个虚拟IP,这样就可以做到主库切换时不影响从库;3.主从在高并发时会存在一定的延时,对于要求高实时性高一致性的业务要强制走主库。...原创 2018-06-04 22:38:43 · 1147 阅读 · 0 评论 -
NewSQL新星冉冉升起 - TiDB
许多人还在用mysql,当然这对于单机、数据量不大的情况下还是比较不错的选择,而且现在oracle收购之后其稳定性、效率等都提高了不少。然而现在这个时代是一个大数据时代,很多东西都可以通过大数据来分析研究,从而越来越多的系统做成了分布式,数据库也是一样的道理,通过分布式数据库来解决大数据的问题。 目前NewSQL就是这样的一个情况下产生,这个也将是未来的数据库之路。而TiDB...原创 2018-06-19 23:34:14 · 1939 阅读 · 0 评论 -
关于mysql使用explain看执行计划的变化
今天有个同事找我解决一个SQL优化的问题。我去看了下,在生产环境上,通过explain查看这个SQL语句执行计划是全表扫描,并没有用到索引,数据量大概在50万左右。通过分析,针对where字段已经建立了索引,而且这个SQL使用的查询条件也都很简单,也就用了in,按道理是可以使用索引查询的。按我之前的开发经验,这应该就是同一SQL在不同环境不同的数据量下执行计划是会发生变化的,为了证实这一想法,我把...原创 2018-07-23 23:14:19 · 947 阅读 · 0 评论 -
深入理解 MySQL 底层实现
MySQL 的常用引擎1. InnoDBInnoDB 的存储文件有两个,后缀名分别是 .frm 和 .idb,其中 .frm 是表的定义文件,而 idb 是数据文件。InnoDB 中存在表锁和行锁,不过行锁是在命中索引的情况下才会起作用。InnoDB 支持事务,且支持四种隔离级别(读未提交、读已提交、可重复读、串行化),默认的为可重复读;而在 Oracle 数据库中,只支持串行化级...转载 2018-11-23 18:21:52 · 245 阅读 · 0 评论 -
MySQL的一些总结
最近拜读了58同城的大神沈剑的关于mysql的一些文章,现在做一个总结如下:一、索引到底是怎么实现的这里要思考“为什么设计成这样”,而不是“是怎样的”。数据库的索引用于提升数据库的查找速度。加速查找速度的数据结构有两种:一种是哈希,一种是树型。哈希的查询、插入、修改、删除的平均时间复杂度都是O(1),而树的平均时间复杂度都是O(lg(n))。这里可以看到哈希结构查找速度会快一点,但My...原创 2019-02-15 14:44:41 · 225 阅读 · 0 评论 -
mybatis入门要点
一、跟Hibernate的区别Hibernate是面向对象的设计思想,所以对数据库的操作基本是对一个对象的操作。而Mybatis是半面向对象的思想,把SQL语句跟java分离,易于维护。总的来说,各自有利有弊,需根据项目实际需求来选型。目前互联网使用最多的应该还是mybatis,主要是易于使用,比hibernate的学习成本要低。二、Mybatis的学习网站网上学习Mybatis...原创 2019-04-13 08:34:14 · 189 阅读 · 0 评论