随笔分类 -  数据库

摘要:避免全表扫描 在日常的 SQL 操作中,有些 SQL 语句会导致引擎弃用索引从而进行全表扫描,如果数据库的数据量极大,全表扫描会占用极大的资源导致数据库查询变慢甚至宕机,所以 SQL 语句有很多优化的余地,有些坑需要尽量避免。 SQL 语句优化的 30 种方法 对查询进行优化,应尽量避免全表扫描,首 阅读全文
posted @ 2022-09-06 08:46 ''竹先森゜ 阅读(2256) 评论(0) 推荐(0)
摘要:前言 Redis 是单线程的,但是一般的作为缓存使用的话,速度已经足够使用。 官方有一个简单测试:测试完成 50 个并发执行 100000 个请求,设置和获取的值是一个 256 字节字符串。结果:读的速度 110000次/s,写的速度81000次/s。 不过对于访问量特别大的服务来说,还是稍有不足。 阅读全文
posted @ 2022-07-18 16:50 ''竹先森゜ 阅读(522) 评论(0) 推荐(0)
摘要:目录 缓存 数据共享分布式 分布式锁 全局ID 计数器 限流 位统计 购物车 用户消息时间线timeline 消息队列 抽奖 点赞、签到、打卡 商品标签 商品筛选 用户关注、推荐模型 排行榜 1、缓存 String 类型例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的 阅读全文
posted @ 2022-05-02 19:06 ''竹先森゜ 阅读(509) 评论(0) 推荐(0)
摘要:前言 有时在操作数据库时会有误操作,如更新的时候忘了加 where 而导致全表数据的某个字段被批量更新,惨不忍睹。那么这样的事务该怎么操作呢? 方法 PostgreSQL 是没有回滚方法的!!!至少针对于 update 操作没有!!!这是一个相当无解的问题!!! 假如你只是想 update tabl 阅读全文
posted @ 2021-08-05 14:48 ''竹先森゜ 阅读(3324) 评论(0) 推荐(0)
摘要:前言 有时候我们的系统或者应用程序会出现反应很慢、肉眼可见的卡,造成的原因很多,可能是网络的原因、可能是系统架构的原因,也有可能是数据库的原因。 在开发阶段,需要考虑到 SQL 语句执行速度问题,这不单单是数据库管理员(DBA)的事,跟程序员也有莫大的关系。数据库的许多坑点需要尽量避开,下面列举一下 阅读全文
posted @ 2021-06-17 09:18 ''竹先森゜ 阅读(863) 评论(0) 推荐(0)
摘要:本文为搬运,根据自己理解稍作修改,支持原创:https://mp.weixin.qq.com/s/G31OEGmi0OtTBGIJT8g4jQ。 注 :文章最后关于技术选型方面的探讨干货满满,强烈建议一键三连 前言 关于「把 Redis 当作队列来用是否合适」的问题有些人表示赞成,也些人则反对。Re 阅读全文
posted @ 2021-05-18 15:40 ''竹先森゜ 阅读(1853) 评论(0) 推荐(0)
摘要:在 Linux 系统中,可以使用 kill 方式强制杀掉进程,但对于修改数据表的语句来说,这样可能导致 PostgreSQL 进入recovery mode,会导致锁表。从安全角度考虑,可以在 PostgreSQL 层面进行 kill。 PostgreSQL 的运行情况可以 pg_stat_acti 阅读全文
posted @ 2021-02-22 16:21 ''竹先森゜ 阅读(3044) 评论(0) 推荐(0)
摘要:what's the pg_stat_activity pg_stat_activity 是 PostgreSQL 内置的一个系统视图, 是 PostgreSQL 实例维护的一个进程相关的视图,是实时变化的。 官方对他的定义是:每一行都表示一个系统进程,显示与当前会话的活动进程的一些信息,比如当前回 阅读全文
posted @ 2021-02-20 15:47 ''竹先森゜ 阅读(9038) 评论(0) 推荐(1)
摘要:SQL 优化 不论是面试还是实际开发(后端),SQL 优化一直是绕不开的一个话题,本文会提到 52 条 SQL 语句性能优化策略,有些优化策略需要你有一定的SQL实践才能体会其中的道理,当然你也可以根据这些优化策略去实践一下,这样更能加深理解和记忆。 对查询进行优化,应尽量避免全表扫描,首先应考虑在 阅读全文
posted @ 2021-01-13 13:41 ''竹先森゜ 阅读(1139) 评论(0) 推荐(0)
摘要:MySQL 锁 MySQL 的锁机制,主要用于高并发场景下,比较重要的知识点是保证数据的一致性的和事务隔离性,在高并发下控制并发访问。 锁的种类 MySQL 中锁的分类按照不同类型的划分可以分成不同的锁, 按照锁的粒度: 表锁:粒度最大的锁,开销小,加锁快,不会出现死锁,但是由于粒度太大,因此造成锁 阅读全文
posted @ 2020-07-20 17:14 ''竹先森゜ 阅读(1550) 评论(0) 推荐(0)
摘要:在为key设置过期时间需要注意的事项 1、 DEL/SET/GETSET等命令会清除过期时间 在使用DEL、SET、GETSET等会覆盖key对应value的命令操作一个设置了过期时间的key的时候,会导致对应的key的过期时间被清除。 //设置mykey的过期时间为300s 127.0.0.1:6 阅读全文
posted @ 2020-06-16 18:44 ''竹先森゜ 阅读(8521) 评论(0) 推荐(0)
摘要:一、关于 Redis 1.Redis 是什么 Redis 是一个开放源代码(BSD 许可)的内存中数据结构存储,可用作数据库,缓存和消息代理,是一个基于键值对的 NoSQL 数据库。 2.Redis 特性有哪些 速度快 基于键值对的数据结构服务器 丰富的功能、丰富的数据结构 简单稳定 客户端语言多 阅读全文
posted @ 2020-06-12 00:14 ''竹先森゜ 阅读(1475) 评论(0) 推荐(0)
摘要:what's the MySQL 事件 MySQL5.1 版本开始引进 event 概念,MySQL 中的事件(event:时间触发器)是用于执行定时或周期性的任务,类似 Linux 中的 crontab,事件可以精确到秒。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的 SQL 语句或存 阅读全文
posted @ 2020-04-30 17:11 ''竹先森゜ 阅读(5345) 评论(0) 推荐(0)
摘要:一、存储过程简介 常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有 阅读全文
posted @ 2020-04-22 01:01 ''竹先森゜ 阅读(1813) 评论(0) 推荐(0)
摘要:一、数据库类型 常用的关系型数据库 Oracle:功能强大,主要缺点就是贵 MySQL:互联网行业中最流行的数据库,免费。关系数据库场景中的功能 MySQL 都能很好的满足 MariaDB:MySQL 的分支,由开源社区维护,被看作 MySQL 的替代品,在扩展功能、存储引擎上有非常好的改进 Pos 阅读全文
posted @ 2019-11-19 18:54 ''竹先森゜ 阅读(2248) 评论(0) 推荐(0)
摘要:第一步:获取镜像 第二步:生成容器 创建宿主机 redis 容器的数据和配置文件目录 获取 redis 的默认配置模版 创建并运行一个名为 myredis 的容器 查看活跃的容器 第三步:配置外网可以访问 更改redis.conf 文件 进入容器 阅读全文
posted @ 2019-07-30 19:48 ''竹先森゜ 阅读(1924) 评论(0) 推荐(0)
摘要:本文为转载内容 百度网盘地址: https://pan.baidu.com/s/1nvIIOad 压缩包中有注册码和使用方法 阅读全文
posted @ 2019-07-04 14:31 ''竹先森゜ 阅读(1778) 评论(0) 推荐(0)
摘要:获取 MySQL 镜像 docker pull mysql:5.6 查看镜像列表 docker images 启动 MySQL 镜像 docker run -itd -P mysql:5.6 bash 查看已经运行的 Docker 镜像 docker ps -a 连接到 MySQL 镜像中 docker exec -it relaxed_hodgki... 阅读全文
posted @ 2019-06-26 17:07 ''竹先森゜ 阅读(5640) 评论(0) 推荐(0)
摘要:what's the DBUtils DBUtils 是一套用于管理数据库连接池的Python包,为高频度高并发的数据库访问提供更好的性能,可以自动管理连接对象的创建和释放。并允许对非线程安全的数据库接口进行线程安全包装。 DBUtils提供两种外部接口: PersistentDB :提供线程专用的 阅读全文
posted @ 2019-05-27 15:11 ''竹先森゜ 阅读(21287) 评论(0) 推荐(1)
摘要:索引的功能 索引可以大幅增加数据库的查询的性能,在实际业务场景中,或多或少都会使用到。 但是索引是有如下 2 个代价的: 因此索引比较适合用在读多写少的场景。 MySQL 的索引类型及实现 索引类型 共分为5类: 唯一索引:索引列中的值必须是唯一的,但是允许出现空值。这种索引一般用来保证数据的唯一性 阅读全文
posted @ 2019-05-27 14:01 ''竹先森゜ 阅读(2139) 评论(0) 推荐(0)