
数据库相关
文章平均质量分 77
e
风中的默默
1998年过去了,我们很怀念它
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SQL执行流程、SQL执行计划、SQL优化
返回两个表中的匹配行。返回左表中的所有记录以及右表中的匹配记录。返回右表中的所有记录以及左表中的匹配记录。返回左侧或右侧表中有匹配的所有记录。原创 2024-07-19 17:34:15 · 748 阅读 · 0 评论 -
《DDIA-数据密集型应用系统设计》
对于一个应用系统,如果“数据”是其成败决定性因素,包括数据的规模 、 数据的复杂度或者数据产生与变化的速率等,我们就可以称为“数据密集型应用系统”;知其然,知其所以然当出现意外情况如硬件、软件故障、人为失误等,系统应可以继续正常运转:虽然性能可能有所降低,但确保功能正确。随着规模的增长 ,例如数据量 、流量或复杂性,系统应以合理的方式来匹配这种增长。随着时间的推移,许多新的人员参与到系统开发和运维, 以维护现有功能或适配新场景等,系统都应高效运转。原创 2024-07-18 17:29:14 · 1030 阅读 · 0 评论 -
读书笔记 - 《Redis 深度历险:核心原理与应用实践》
不过你也不必过于担心,因为 Redis 对 HyperLogLog 的存储进行了优化,在计数比较小时,它的存储空间采用稀疏矩阵存储,空间占用很小,仅仅在计数慢慢变大、稀疏矩阵占用空间渐渐超过了阎值时,才会一次性转变成稠密矩阵,才会占用 12KB的空间。数据段是由很多操作系统的页面组合而成,当父进程对其中一个页面的数据进行修改时,会将被共享的页面复制一份分离出来,然后对这个复制的页面进行修改,每个页面的大小只有 4KB。用户看到错误对话框后,会先阅读对话框的内容,再点击重试,这样就可以起到人工延时的效果。原创 2024-07-17 17:18:59 · 1446 阅读 · 0 评论 -
IO多路复用技术、select、poll、epoll联系与区别
epoll 是 Linux 内核提供的一种高效的 I/O 多路复用技术,用于监控大量文件描述符(file descriptors)的 I/O 事件。epoll是Linux下的一种高效的I/O多路复用技术。epoll_ctl:用于添加(EPOLL_CTL_ADD)、修改(EPOLL_CTL_MOD)或删除(EPOLL_CTL_DEL)感兴趣的文件描述符。异步的:epoll 允许应用程序先注册对特定的 I/O 事件,当这些事件发生之后操作系统会自动通知应用程序,这是异步 I/O 的一个关键特征。原创 2024-07-15 10:48:03 · 1091 阅读 · 0 评论 -
读书笔记 - 《深入浅出MySQL(第3版)》
隔离性Isolation:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致,因为多个事务同时使用相同的数据时,不会相互干扰,每个事务都有一个完整的数据空间,对其他并发事务是隔离的。MySQLInnoDB引擎的行锁是通过索引加载的,也就是说,行锁是加在索引响应的行上的,要是对应的SQL语句没有走索引,则会全表扫描,行锁则无法实现,取而代之的是表锁,此时其它事务无法对当前表进行更新或插入操作。简而言之,第一范式就是无重复的列。原创 2024-06-26 11:12:53 · 1952 阅读 · 0 评论 -
Redis大key问题
比如用String类型的Key存放大体积二进制文件型数据用List数据结构保存热点新闻的评论列表,因为评论数爆发增长导致存放的元素多,value过大。用redis-cli加上–bigkeys参数,可以找到某个实例的大key。要解决Big Key问题,无非就是减小key对应的value值的大小。原创 2024-05-09 20:50:14 · 314 阅读 · 0 评论 -
《redis设计原理/redis设计与实现》
Redis 是一种基于内存的数据库,它对数据的读写操作都是在内存中完成,所以它的读写速度非常快,常用于缓存,消息队列这些场景。Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、Hash(哈希)、 List (列表)、Set(集合)、Zset(有序集合)、Bitmaps(位图)等等,并且对数据类型的操作都是原子性的,因为执行命令由单线程负责的,不存在并发竞争的问题。除此之外,Redis 还支持事务 、持久化、过期删除机制等等。原创 2023-08-20 11:35:09 · 10858 阅读 · 0 评论 -
【MySQL】阅读笔记
我们常说的索引数据结构,就是由存储引擎层实现的,不同的存储引擎支持的索引类型也不相同,比如 InnoDB 支持索引类型是 B+树 ,且是默认使用,也就是说在数据表中创建的主键索引和二级索引默认使用的是 B+ 树索引。之所以要逆序,是因为记录头信息中指向下一个记录的指针,指向的是下一条记录的「记录头信息」和「真实数据」之间的位置,这样的好处是向左读就是记录头信息,向右读就是真实数据,比较方便。但其实对于更新比较频繁的表,查询缓存的命中率很低的,因为只要一个表有更新操作,那么这个表的查询缓存就会被清空。原创 2023-08-08 14:56:49 · 8435 阅读 · 0 评论 -
cmu15-445课程笔记
总结起来,cmake …用于配置并生成构建文件,而 make 用于实际执行构建,根据构建文件中的规则进行编译和链接。cmake:将 CMakeLists.txt 文件中的配置指令解析为适用于所选构建系统的构建文件。接下来我们可以在本机的编译器编写我们的代码。然后在服务器上编译和运行我们的代码。make: 在生成了构建文件后,编译项目的源代码并生成最终的可执行文件。1、下载安装Clion,安装C++编译环境。2、服务器装依赖包,安装Cmake。Clion远程连接服务器。原创 2023-08-23 19:22:46 · 14865 阅读 · 0 评论 -
partition by
转载地址:https://blog.youkuaiyun.com/dwt1415403329/article/details/878353831>建表并插入数据,因为over是开窗函数,mysql不支持开窗函数,其他如oracle,sql server,db2...等新版本都支持(这里借用他人的数据) CREATE TABLE Employee( ID number(10) not null primary key, EmpName varchar(20), EmpSalary varchar(10)转载 2020-10-14 10:58:48 · 17610 阅读 · 0 评论 -
PL/SQL迁移Oracle数据库方法与报错详解
目录起因分析结论起因数据库迁移时(宿主机 >> 本机),导入表发生报错,启动项目时也报错。1:开始不明白数据库迁移时.sql与.dmp的区别,以为都差不多。开始用的是'导出表'方式,导出.dmp文件,从宿主机导出后,直接导入本机,一切正常。2:启动项目时,报错: ORA-00942: 表或视图不存在3:分析后想到直接导.dmp方式是否不能导出相关视图4:用另一种方法,'导出...原创 2020-04-29 20:55:39 · 3072 阅读 · 0 评论 -
ORA-01502数据库索引处于不可用状态
ORA-01502数据库索引处于不可用状态现象:原因:解决方法现象:原因:百度后查到了原因,是因为在此之前操作了这张表里的字段类型,把varchar2改成了clob(直接改是不可以的,varchar->long->clob,且更改时要求把数据清空),导致索引失效。解决方法1.首先查出该索引的表空间select tablespace_name from dba_in...原创 2019-12-19 11:01:46 · 839 阅读 · 1 评论 -
in关键字中参数超过最大值的解决方法
前台页面查询时报错定位到具体sql,放到PL SQL中查询也就是in关键字默认参数数量大于1000时,就会报错解决方法:/***@Description: sql查询中使用in关键字时 参数数量大于900则分段查询 *@param1: in中参数列表LIST *@param2: 需要查询的字段 *@author: V_US9Y3S *@date: 2020-7-6 */public static String getInParameter(List<String> l原创 2020-07-20 16:33:24 · 2592 阅读 · 0 评论 -
group by与order by的区别
1. order byorder by比较简单,作用就是排序asc 从上到下慢慢升序desc 从上到下慢慢降序默认为升序(就是你sql不写order by 它就是升序)order by后面跟多个字段时,排序按就近原则依次而来2. group byorder by 我的理解是:聚合分组聚合的意思就是聚合函数:例如 sum()、avg()、count()等等直接上个栗子:...原创 2020-07-08 14:11:33 · 59918 阅读 · 7 评论 -
索引
文章目录1. 索引是什么2. 索引分类3. 索引语法4. 索引结构分类5. 建立索引情况5.1 哪些情况要建索引5.2 哪些情况不要建索引6. 索引注意点1. 索引是什么索引是帮助MySQL高效获取数据的数据结构,也可以理解为:排好序的快速查找数据结构。大部分索引都是B+树索引,也有的是哈希索引优势:1.提高数据检索效率,降低数据库的IO成本。2. 提高数据排序效率,降低CPU的消耗。劣势:实际上索引也是一张表,该表保存了主键与索引字段 并指向实体表的记录,所以索引列也是要占空间的原创 2020-07-08 11:07:50 · 295 阅读 · 0 评论 -
数据库事务隔离级别
文章目录三种读取问题1. 脏读2. 不可重复读3. 幻读事务隔离级别三种数据读取问题出现的根本原因:并发访问三种读取问题1. 脏读读取未提交数据A事务读取B事务尚未提交的数据,此时如果B事务发生错误并执行回滚操作,那么A事务读取到的数据就是脏数据。就好像原本的数据是艾希 比较干净、纯粹。B事务更改艾希为盖伦,A事务在之后读取了这个数据(盖伦)。然后B又把数据回滚为艾希,而事务A却什么都不知道,傻傻的以为盖伦就是正确的值。最终结果就是事务A读取了此次的脏数据,称为脏读。2. 不可重复读前后原创 2020-07-07 14:23:26 · 3318 阅读 · 0 评论 -
数据库explain指令
文章目录explain指令覆盖索引explain指令mysql> explain select * from Dm_Dealer t where t.row_id = '20200630';+----+-------------+----------+------+---------------+------+---------+------+------+-------------+| id | select_type | table | type | possible_keys |原创 2020-06-30 10:19:43 · 1019 阅读 · 0 评论 -
SQL中or关键字
SQL中or关键字背景原因解决过程背景同事测试时反应汇总的数据比库里正常的数据多了很多。正常只有432条,但汇总出了近五百条数据。原因查看了下汇总出的数据,发现有很多都重复了,但是按理来说用框架查出来的不会有重复,所以觉得可能是自己sql写的有问题。查询了相关资料后确定是sql中or关键字的问题。解决过程sql = "SELECT * ...原创 2020-01-02 19:52:30 · 13228 阅读 · 2 评论