随笔分类 -  数据库

摘要:一、数据库架构原则二、常见的架构方案方案一:主备架构,只有主库提供读写服务,备库冗余作故障转移用方案二:双主架构,两个主库同时提供服务,负载均衡方案三:主从架构,一主多从,读写分离方案四:双主+主从架构,看似完美的方案三、一致性解决方案第一类:主库和从库一致性解决方案第二类:DB和缓存一致性解决方案 阅读全文
posted @ 2019-07-17 14:11 割肉机 阅读(383) 评论(0) 推荐(0) 编辑
摘要:只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题 那么,如何解决一致性问题? 一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 缓存 + 数据库必须保持一致性的话,最好不要做这个方案。即:读请求和写请求串行化,串到 阅读全文
posted @ 2019-06-27 14:06 割肉机 阅读(763) 评论(0) 推荐(0) 编辑
摘要:在写入数据库的时候需要有锁,比如同时写入数据库的时候会出现丢数据,那么就需要锁机制。 数据锁分为乐观锁和悲观锁,那么它们使用的场景如下: 1. 乐观锁适用于写少读多的情景,因为这种乐观锁相当于JAVA的CAS,所以多条数据同时过来的时候,不用等待,可以立即进行返回。 2. 悲观锁适用于写多读少的情景 阅读全文
posted @ 2019-04-30 13:59 割肉机 阅读(1094) 评论(0) 推荐(0) 编辑
摘要:直接举例说明各种方法: CREATE table A ( id int, name varchar(200) ) CREATE table b ( id int, name varchar(200) ) INSERT INTO b VALUES(1,'张三') INSERT INTO b VALUE 阅读全文
posted @ 2018-08-18 18:00 割肉机 阅读(10930) 评论(0) 推荐(0) 编辑
摘要:通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join B 的连接的记录数与B表的记录数同 A left join B 等价B right join A table A: Field_K, Field_A 1 a 3 b 4 c table B: Field 阅读全文
posted @ 2018-08-18 17:59 割肉机 阅读(74161) 评论(7) 推荐(4) 编辑
摘要:原创: 咖啡拿铁 1.锁? 1.1何为锁 锁在现实中的意义为:封闭的器物,以钥匙或暗码开启。在计算机中的锁一般用来管理对共享资源的并发访问,比如我们java同学熟悉的Lock,synchronized等都是我们常见的锁。当然在我们的数据库中也有锁用来控制资源的并发访问,这也是数据库和文件系统的区别之 阅读全文
posted @ 2018-08-17 13:07 割肉机 阅读(216) 评论(0) 推荐(0) 编辑
摘要:1、查询如果慢的建立索引可以提升速度 相当于就是之前一个表数据量比较小,之后数据量大了查询就变慢,此时在经常用到的字段上加个索引,效率会翻倍很多的 2、建立索引是为了提升速度,所以避免对索引字段进行计算或类型转化 例如: where a * 5 = 10 可以 转化为 where a = 10/5 阅读全文
posted @ 2018-08-14 21:55 割肉机 阅读(2980) 评论(0) 推荐(0) 编辑
摘要:1、经过测试发现当聚集索引新建或者重建时,会按照逻辑顺序重新排列数据页和数据页内的数据行的物理顺序。 2、但修改表时,无论是聚集索引还是堆的数据页都是按自然顺序向后插入数据,页面上的偏移量可以证明。因为数据库的最小读取单元是页,所以页内的物理顺序无关紧要,只需要维护好页内数据的逻辑顺序。 聚集表中插 阅读全文
posted @ 2018-07-30 13:13 割肉机 阅读(669) 评论(0) 推荐(0) 编辑
摘要:转:原文链接已失效,自动跳转其他不可描述网站,删除原文地址。 看到一篇非常全面的SQL优化文章,在开发的工作中往往不考虑性能上的缺失(在一开始的时候数据量不大也看不出速度上的区别)。但写的越多越应该规范一下写法。 数据库的优化问题 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查 阅读全文
posted @ 2018-07-30 11:12 割肉机 阅读(54295) 评论(3) 推荐(4) 编辑
摘要:mongo是基于内存的数据库,应尽量将工作集中的数据全部加载到内存中,即内存应大于工作集 本文译自Chad Tindel的英文博客: http://www.mongodb.com/blog/post/capacity-planning-and-hardware-provisioning-mongod 阅读全文
posted @ 2018-07-12 10:04 割肉机 阅读(6394) 评论(0) 推荐(0) 编辑
摘要:http://itbilu.com/database/mongo/E1tWQz4_e.html 索引是提高查询查询效率最有效的手段。索引是一种特殊的数据结构,索引以易于遍历的形式存储了数据的部分内容(如:一个特定的字段或一组字段值),索引会按一定规则对存储值进行排序,而且索引的存储位置在内存中,所在 阅读全文
posted @ 2018-07-12 08:55 割肉机 阅读(70620) 评论(2) 推荐(0) 编辑
摘要:golang在进行数据库操作,一般来说我们使用Open函数创建一个数据库(操作)句柄:func Open(driverName, dataSourceName string) (*DB, error) 我们知道,返回的*DB是一个具有零到多个底层连接的连接池,可以安全的被多个go程使用,并且会维护自 阅读全文
posted @ 2018-06-25 15:55 割肉机 阅读(1610) 评论(0) 推荐(0) 编辑
摘要:查看mongodb慢查询 赶紧打开服务器爸爸,开慢查询,看下耗时500ms以上的都是些啥: db.setProfilingLevel(2,500) 看下最近的10条具体的慢查询指令: db.system.profile.find().limit(10).sort({ ts : -1 }).prett 阅读全文
posted @ 2018-06-25 09:20 割肉机 阅读(560) 评论(0) 推荐(0) 编辑
摘要:1、打开命令行,进入我们所安装的mongodb路径下的bin文件夹 2、我们采用bin文件夹下的mongoexport方法进行导出, 1 mongoexport -d myDB -c user -f _id,name,password,adress --csv -o ./user.csv -d 标示 阅读全文
posted @ 2018-06-07 18:10 割肉机 阅读(5210) 评论(0) 推荐(0) 编辑
摘要:一、删除表 drop table 表名称 二、修改表 alter table 表名称 add 列名 数据类型 (add表示添加一列) alter table 表名称 drop column 列名称( column表示列 drop表示删除) 三、删除数据库 drop database 数据库 四、CR 阅读全文
posted @ 2018-06-04 13:45 割肉机 阅读(5889) 评论(0) 推荐(0) 编辑
摘要:转载:https://www.cnblogs.com/duanxz/p/3682138.html 一、为什么查询速度会慢? 一个查询的生命周期大致可以按照顺序来看:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端。其中在“执行”阶段包含了大量为了检索数据到存储引擎的 阅读全文
posted @ 2018-06-04 11:16 割肉机 阅读(32092) 评论(1) 推荐(5) 编辑
摘要:上一篇笔记Reddis集成,操作Redis使用的是RedisTemplate,但实际中还是有一大部分人习惯使用JedisPool和Jedis来操作Redis, 下面使用Jedis集成示例。 上一篇笔记Reddis集成,操作Redis使用的是RedisTemplate,但实际中还是有一大部分人习惯使用 阅读全文
posted @ 2018-06-01 15:33 割肉机 阅读(329) 评论(0) 推荐(0) 编辑
摘要:数据库连接池技术带来的优势: 1. 资源重用 由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量)。 2. 更快的系统响应速度 数据库连接池在初始化过程中,往往已经创建了若干数据 阅读全文
posted @ 2018-06-01 13:11 割肉机 阅读(590) 评论(0) 推荐(0) 编辑
摘要:一、Redis状态检查 唯一标记一个redis实例的是ip和端口,前端是用tcp方式来访问redis的,我们提供给应用访问的是一个ip+63379(一般使用63379) 端口。因此我们执行如下命令检查redis状态: 上面的role这个值一定是master的,只要保证vip在master上我们的Pa 阅读全文
posted @ 2018-06-01 13:10 割肉机 阅读(290) 评论(0) 推荐(0) 编辑
摘要:2012年07月21日 10:07:07 2012年07月21日 10:07:07 阅读数:2006 阅读数:2006 阅读数:2006 连接池技术,大大的提升了应用程序的性能,但是如果不了解连接池的使用场景和原理,就茫然使用连接池,.net默认使用连接池,大多数人会选择使用连接池的默认设置,这样带 阅读全文
posted @ 2018-06-01 11:28 割肉机 阅读(818) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示