随笔分类 -  数据库

摘要:1.微服务中做分库设计; 2.分表:横向分表(解决单表数据量过大的问题,id策略,hash id);纵向分表(解决单表列过多,或者单列内容过多的问题,提示查询效率) 3.设计冗余列:避免过多的表关联,提示查询效率 4.sql优化(索引:针对经常被放在where条件中的列等) 5.如果存储的字段为固定 阅读全文
posted @ 2020-05-09 11:23 ToBeContinue得 阅读(122) 评论(0) 推荐(0)
摘要:1.悲观锁: 悲观锁解决库存问题:将select语句加入一个行锁,和更新库存的语句互斥,可以保证在查询库存时库存不被修改 2.乐观锁: 乐观锁解决库存问题:在select时,加入一个版本字段,每次更新,同时查询和更新版本字段,如果版本字段发生变化,则sql语句不会执行成功 阅读全文
posted @ 2020-05-03 10:18 ToBeContinue得 阅读(160) 评论(0) 推荐(0)
摘要:1.索引是为了提高数据获取速度的一种数据结构(balance tree) 2.索引的类型: 单值索引:一个索引只包含单个列,一个表可以有多个单列索引 唯一索引:索引的值必须唯一,但允许有空值 复合索引:一个索引包含多个列 3.explain关键字: 使用explain关键字可以模拟优化器执行sql查 阅读全文
posted @ 2020-04-28 17:26 ToBeContinue得 阅读(133) 评论(0) 推荐(0)
摘要:1. redis的高性能是由于其将所有数据都存储在了内存,为了使redis重启后仍能保证数据不丢失,需要将数据从内存中同步到磁盘,这一过程就是持久化。 redis支持两种方式的持久化,一种是RDB方式,一种是AOF方式。redis可以同时使用RDB和AOF 2.RDB方式(默认支持,无需配置) 该机 阅读全文
posted @ 2019-12-05 21:48 ToBeContinue得 阅读(137) 评论(0) 推荐(0)
摘要:1. 在redis中,MULTI/EXEC/DISCARD/这三个命令是实现事务的基石 multi:开启事务,用于标记事务的开始,其后执行的命令都被存入命令队列,直到执行EXEC时,这些命令才会被原子的执行,类似关系型数据库里的begin transaction exec:提交事务,类似于关系型数据 阅读全文
posted @ 2019-12-05 21:24 ToBeContinue得 阅读(118) 评论(0) 推荐(0)
摘要:1.redis是一种高级的key-value的存储系统,其中value支持五种数据类型 a.字符串(String) b.哈希(hash) c.字符串列表(list) d.字符串集合(set) e.有序字符串集合(sorted set) 2.存储string 字符串类型是redis中最为基础的数据存储 阅读全文
posted @ 2019-12-02 18:08 ToBeContinue得 阅读(129) 评论(0) 推荐(0)
摘要:1.什么是redis redis是用c语言开发的一个开源的高性能键值对(key-value)数据库,它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下: a.字符串类型 b.散列类型 c.列表类型 d.集合类型 e.有序集合类型 2.redis的应用场景 阅读全文
posted @ 2019-11-28 22:21 ToBeContinue得 阅读(128) 评论(0) 推荐(0)
摘要:1.什么是NoSql 是一项全新的数据库理念,泛指非关系型的数据库 2.为什么需要NoSql 1.对数据库高并发读写的需求 2.对海量数据的高效率存储和访问的需求 3.对数据库的高可扩展性和高可用性的需求 NoSql数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题 阅读全文
posted @ 2019-11-28 18:08 ToBeContinue得 阅读(221) 评论(0) 推荐(0)
摘要:1.在进行sql优化之前,首先我们得找到需要优化的sql(比如查询时间超过2s的慢sql),这时候我们就要使用到慢查询日志(慢sql的挖掘机); 2.慢查询日志: MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过 long_qu 阅读全文
posted @ 2019-07-01 14:13 ToBeContinue得 阅读(3442) 评论(0) 推荐(0)
摘要:1.DBUtils是java编程中的数据库操作实用工具,小巧简单实用,它封装了对JDBC的操作,可以少写代码 2.DBUtils的三个核心功能: QueryRunner中提供对sql语句操作的API; ResultSetHandler接口用于定义select操作后,怎样封装结果集; DbUtils类 阅读全文
posted @ 2019-05-20 10:16 ToBeContinue得 阅读(133) 评论(0) 推荐(0)