
数据库
数据库
二十同学
公众号:二十同学
展开
-
Redis 6.0 新特性
Redis 6.0 来了Redis 6.0.0 稳定版(GA)终于发布,这个版本提供了诸多令人心动的新特性及功能改进,比如新网络协议RESP3,新的集群代理,ACL等,其中关注度最高的应该是“多线程”了,带着众多疑问,我们来一起开始“Redis 6.0 新特性”。1. Redis6.0之前的版本真的是单线程吗?Redis在处理客户端的请求时,包括获取 (socket 读)、解析、执行、内容返回 (socket 写) 等都由一个顺序串行的主线程处理,这就是所谓的“单线程”。但如果严格来讲从Redi转载 2020-05-09 15:22:44 · 62987 阅读 · 4 评论 -
SQL调优方案
一.创建索引1. 要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引2. (1)在经常需要进行检索的字段上创建索引,比如要按照表字段username进行检索,那么就应该在姓名字段上创建索引,如果经常要按照员工部门和员工岗位级别进行检索,那么就应该在员工部门和员工岗位级别这两个字段上创建索引。 (2)创建索引给检索带来的性能提升往往是巨大的,因此...原创 2020-03-11 11:38:25 · 62374 阅读 · 1 评论 -
sqlite读写锁和线程模式
sqlite读写锁SQLite3总共有三种事务类型:BEGIN [ DEFERRED /IMMEDIATE / EXCLUSIVE ] TRANSCATION,提供以下五种的文件锁状态,按锁的级别依次是:UNLOCKED / SHARED / RESERVERD / PENDING / EXCLUSIVE。1). UNLOCKED:无锁 文件没有持有任何锁,即当前数据库不存在任何读或写...原创 2019-06-14 18:06:40 · 74216 阅读 · 0 评论 -
mysql常见知识点总结
MySql的优化步骤MySql优化的一般步骤:1.通过show status 命令了解各种sql的执行效率 SHOW STATUS提供msyql服务器的状态信息 一般情况下,我们只需要了解以”Com”开头的指令 show session status like ‘Com%’:显示当前的连接的统计结果 show global status like ‘Com%’ :显...原创 2019-10-08 11:58:36 · 60175 阅读 · 0 评论 -
mysql分库分表(二)
一种可以避免数据迁移的分库分表scale-out扩容模式一种可以避免数据迁移的分库分表scale-out扩容方式目前绝大多数应用采取的两种分库分表规则mod方式 dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月份的数据在一个库表)这两种方式有个本质的特点,就是离散性加周期性。例如以一个表的主键对3取余数的方式分库或分表:那么随着数据量的增大,每个...原创 2019-10-08 11:51:18 · 60184 阅读 · 0 评论 -
mysql分库分表(一)
数据库分库分表策略的具体实现方案相关文章:1、使用Spring AOP实现MySQL数据库读写分离案例分析2、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解3、MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结4、使用mysqlreplicate命令快速搭建 Mysql 主从复制5、大型网站应用之海量数据和高并发解决方案总结一...原创 2019-10-08 11:47:18 · 57210 阅读 · 0 评论 -
解决postgresql数据库锁表问题
查询是否锁表了 select oid from pg_class where relname='可能锁表了的表' select pid from pg_locks where relation='上面查出的oid'如果查询到了结果,表示该表被锁 则需要释放锁定 select pg_cancel_backend(上面查到的pid)...原创 2019-07-12 11:41:56 · 76781 阅读 · 0 评论 -
Druid连接池监控的两个坑
阿里的Druid大家都知道是最好的连接池,其强大的监控功能是我们追求的重要特性。但在实际情况中也有不少坑,说下最近遇到的一个坑吧!问题1:不断打印error级别的错误日志session ip change too many下面是其报错的关键源码com.alibaba.druid.support.http.stat.WebSessionStat#addRemoteAddre...原创 2018-12-19 14:17:28 · 70611 阅读 · 0 评论 -
Druid连接池的坑
Druid的坑当查询数据库的Clob转换为Oracle Clob类型的时候。java.lang.ClassCastException: com.alibaba.druid.proxy.jdbc.ClobProxyImpl cannot be cast to oracle.sql.CLOB问题原因ClobProxyImpl不能转换为Oracle的Clob字段,这也是醉了。原...原创 2018-12-19 14:12:48 · 70109 阅读 · 0 评论 -
Druid-连接池简介
Druid是什么Druid是阿里开源的连接池,是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能,是为监控而生的数据库连接池!GitHub:https://github.com/alibaba/druid/添加依赖<dependency> <groupId>com.alibaba</groupId> <...原创 2018-12-19 14:10:40 · 72110 阅读 · 0 评论 -
postgres数据库怎么转成postgis数据库
postgres数据库安装完成后,如果想执行有空间查询的方法,可以执行下面命令将数据库转成postgis数据库create extension postgis执行完成后,数据库中会自动多出一张表 spatial_ref_sys...原创 2018-08-14 20:33:38 · 70604 阅读 · 0 评论 -
悲观锁和乐观锁
悲观锁和乐观锁 是并发情境下的两种设计思想, 它们的主要区别在于:悲观锁则认为肯定会发生并发问题, 要么我等着, 要么就让别人等;乐观锁认为当前发生并发的可能性不大, 我先试试, 不行的话再说.一般只有在高并发下使用悲观锁才比较合适, 并发不是很严重的情况下使用乐观锁会有更高的效率.Java里的悲观锁和乐观锁在Java中, Synchronized 和 Lock 是悲观锁, 典型的乐观锁是 Un...原创 2018-07-06 13:53:53 · 68630 阅读 · 0 评论 -
MySQL创建用户与授权
一. 创建用户命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';说明:username:你将创建的用户名host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器例子:...原创 2018-07-06 11:00:16 · 72187 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主...原创 2018-06-26 16:08:13 · 64311 阅读 · 0 评论