数据库原理
文章平均质量分 77
摘星喵Pro
蜡笔小新.com
展开
-
CentOS安装MongoDB
但请注意,在将 MongoDB 公开到外部网络时,务必采取额外的安全措施,如配置身份验证、设置访问控制列表、定期备份数据以及监控数据库活动,以确保安全性和数据保护。这在生产环境中是不安全的,因此建议你设置 MongoDB 的身份验证密码以增强安全性。如果你的服务器上启用了防火墙(如Firewalld),你需要确保打开 MongoDB 的监听端口(默认是27017)以允许外部访问。要允许外网访问 MongoDB,你需要在 MongoDB 的配置文件中做一些更改,以及根据你的环境设置防火墙规则。原创 2023-12-25 15:04:58 · 1622 阅读 · 0 评论 -
Redis KEY*模糊查询导致速度慢、阻塞其他 Redis 操作
在Redis中,使用通配符 `KEYS` 命令进行键的模糊匹配(比如 `KEYS key*`)可能会导致性能问题,尤其是在数据集较大时。这是因为 `KEYS` 命令的实现需要遍历所有的键来匹配模式,这个过程的时间复杂度是 O(N),其中 N 是键的总数,因此**使用KEYS*命令查询时,Redis的响应速度和Redis中数据量成正比**。在大规模的生产环境中,遍历所有键可能会导致阻塞其他 Redis 操作,因为 `KEYS` 命令会持有数据库的写锁。此外,这也可能对性能产生负面影响,因为它需要消耗大量的原创 2023-12-08 16:29:14 · 1781 阅读 · 0 评论 -
MySQL 事务日志
为每一个事务分配一个页,是非常浪费的(除非你的事务非常长),假设你的应用的TPS(每秒处理的事务数目)为1000,那么1s就需要1000个页,大概需要16M的存储,1分钟大概需要1G的存储。可以发现每次对数据的变更都会产生一个undo log,当一条记录被变更多次时,那么就会产生多条undo log,undo log记录的是变更前的日志,并且每个undo log的序号是递增的,那么当要回滚的时候,按照序号依次向前推,就可以找到我们的原始数据了。了,当事务提交时,并不会立刻删除undo页。转载 2023-07-28 09:43:43 · 301 阅读 · 0 评论 -
事务基础知识
命令来查看当前 MySQL 支持的存储引擎都有哪些,以及这些存储引擎是否支持事务。能看出在 MySQL 中,只有InnoDB 是支持事务的。原创 2023-07-28 09:21:03 · 147 阅读 · 0 评论 -
数据库索引优化与查询优化——醍醐灌顶
哪些维度可以进行数据库调优关于数据库调优的知识点非常分散。不同的 DBMS,不同的公司,不同的职位,不同的项目遇到的问题都不尽相同。这里我们分为三个章节进行细致讲解。虽然 SQL 查询优化的技术有很多,但是大方向上完全可以分成和两大块。原创 2023-07-27 17:14:45 · 1970 阅读 · 0 评论 -
数据库性能分析工具的使用
定位了查询慢的 SQL之后,我们就可以使用 EXPLAIN 或 DESCRIBE 工具做针对性的分析查询语句。DESCRIBE语句的使用方法与EXPLAIN语句是一样的,并且分析结果也是一样的。MySQL中有专门负责优化SELECT语句的优化器模块,主要功能: 通过计算分析系统中收集到的统计信息,为客户端请求的Query提供它认为最优的 执行计划 (他认为最优的数据索方式,但不见得是DBA认为是最优的,这部分最耗费时间)。原创 2023-07-26 14:25:15 · 273 阅读 · 0 评论 -
索引的创建与设计原则
在实际使用中,根据数据表的访问模式和查询需求,选择合适的索引类型,并确保索引的设计能够提高查询性能和数据访问效率。同时,根据数据库的实际负载和查询频率,定期监测索引的性能,对索引进行优化和维护,是保持数据库高性能的关键。原创 2023-07-25 14:44:28 · 3974 阅读 · 0 评论 -
索引的数据结构
使用索引是为了加快数据库的查询速度和提高数据库的性能。索引是数据库表中的一种数据结构,它可以帮助数据库快速定位并检索所需的数据。当数据库表中的数据量较大时,如果没有索引,数据库系统需要逐行扫描整个表来查找满足查询条件的数据,这将会消耗大量的时间和资源。而有了索引,数据库系统可以根据索引中存储的信息快速缩小查询范围,直接定位到符合条件的数据,从而大大减少查询所需的时间和资源。原创 2023-07-25 10:24:01 · 1522 阅读 · 0 评论 -
MySQL 字符集
排序规则影响字符在比较和排序时的行为,因为在不同的语言和地区,对字符的排序方式可能有所不同。请注意,在 MySQL 中,“utf8” 和 “utf8mb4” 的存储方式略有不同,“utf8mb4” 的存储空间会稍微多一些,因为它支持更多的字节。例如,“utf8mb4_general_ci” 表示使用 “utf8mb4” 字符集,并采用不区分大小写的排序规则。对于大多数情况下,特别是需要支持表情符号、特殊符号或其他非常用字符的情况,建议使用 “utf8mb4” 字符集,以免出现字符存储和处理的问题。原创 2023-07-24 16:35:24 · 1463 阅读 · 0 评论 -
MySQL8 新特性——公用表表达式用法
在MySQL 8.0及更高版本中,引入了公用表表达式(Common Table Expressions,CTEs),它是一种方便且可重用的临时结果集,类似于子查询,但使用更简洁和易读的语法。CTEs通常用于在复杂的查询中创建临时表,以便于后续查询和分析。原创 2023-07-24 09:11:05 · 354 阅读 · 0 评论 -
MySQL8 新特性——窗口函数用法
窗口函数的特点是可以分组,而且可以在分组内排序。另外,窗口函数不会因为分组减少原表中的行数,这对我们在原表数据的基础上进行统计和排序非常有用。原创 2023-07-23 16:39:48 · 567 阅读 · 0 评论 -
MySQL 触发器
MySQL 触发器(Trigger)是一种在数据库中定义的特殊类型的存储过程,它在指定的数据库表上自动执行,当满足特定的触发条件时,触发器会被激活并执行相应的操作。触发器通常用于在数据库表发生特定事件时,自动执行一些操作,如更新其他表的数据、记录日志等。原创 2023-07-21 13:58:22 · 1231 阅读 · 0 评论 -
MyBatis XML方式常用元素用法示例
MyBatis XML 中的元素有很多种,每个元素都有不同的作用和用法。:用于定制 SQL 片段的前缀和后缀,并根据条件进行添加或删除。:用于循环遍历集合或数组,并生成对应的 SQL 语句。:根据条件判断是否包含某个 SQL 片段。:实现条件选择逻辑。原创 2023-06-28 16:00:15 · 631 阅读 · 0 评论 -
Mybatis注解形式用法
MyBatis 注解形式的用法提供了一种在接口方法上直接定义 SQL 语句和参数映射的方式,使得数据库操作更加简洁和直观。在使用注解形式时,需要确保正确配置了 MyBatis 的注解扫描和相关的配置信息,以便正确地执行数据库操作。除了以上示例,MyBatis 还提供了其他注解和用法,例如动态 SQL 注解(:指定方法参数的名称,在 SQL 语句中引用参数。:执行查询操作,用于查询单个结果或结果列表。:执行插入操作,用于插入数据。:执行更新操作,用于更新数据。:执行删除操作,用于删除数据。原创 2023-06-28 15:52:20 · 540 阅读 · 0 评论 -
MySQL基本知识复习补充
DDL:数据定义语言。create、alter、drop、rename、truncate(清空表)DML:数据操作语言。DCL:数据控制语言。因为查询语句使用频繁,可以把细分为DQL(数据查询语言),和commit、rollback细分为TCL(事务控制语言)原创 2023-06-08 16:27:46 · 2455 阅读 · 0 评论 -
处理MySQL执行SQL语句,表名不支持大写问题
Linux下的MySQL默认是区分表名大小写导致的;处理MySQL执行SQL语句,表名不支持大写问题。修改/etc/my.cnf文件。原创 2023-01-13 14:10:34 · 622 阅读 · 0 评论 -
Mac/Windows使用DBeaver+jdbc驱动连接KingbaseES人大金仓数据库
下载DBeaver Communit连接工具并安装:官网下载驱动你电脑对应的文件:原创 2023-01-13 10:03:40 · 4409 阅读 · 1 评论 -
Mysql create table 建表报错: Row size too large. The maximum row size for the used table type, not count
原因:mysql单表所有行定义大小之和不得超过65535,除TEXT/BLOB类型UTF-8:一个汉字占3个字节,字母1个字节。 GBK:一个汉字占2个字节,字母2个字节。解决方案:将长文本类型属性改为TEXT或者在合理要求内降低varchar的最大范围等,总之要符合以上规则可以将长文本分表存储提高查询效率原创 2022-12-12 17:47:35 · 1786 阅读 · 0 评论 -
Mac 安装使用 Mongodb
## 解压到安装目录我的安装目录:/usr/local/mongodb## 创建目录/usr/local/mongodb/data/usr/local/mongodb/log## 配置环境变量可以参考:https://blog.csdn.net/a2272062968/article/details/127065267增加:`export PATH=${PATH}:/usr/local/mongodb/bin`终端输入source ~/.bash_profile使配置生效(我这里仅在当前原创 2022-12-08 17:17:28 · 349 阅读 · 0 评论 -
SpringBoot整合Redis/自定义Redis配置和工具类
可以自定义一些对象序列化操作等配置/**// 编写自己的redisTemplate @Bean @SuppressWarnings("all") public RedisTemplate < String , Object > redisTemplate(RedisConnectionFactory factory) throws UnknownHostException {原创 2022-09-08 13:43:01 · 432 阅读 · 0 评论 -
Mybatis-plus条件构造器Wrapper/QueryWrapper/LambdaQueryWrapper/LambdaQueryChainWrapper关系梳理和用法
1. `QueryWrapper`、`QueryChainWrapper`只能都只能指定需要的数据库列名2. `LambdaQueryWrapper`、`LambdaQueryChainWrapper`可以通过获取Lambda数据库列名3. `QueryWrapper` 、`LambdaQueryWrapper`不能使用链式查询的方式,必须借助BaseMapper来执行4. `QueryChainWrapper`、`LambdaQueryChainWrapper`可以使用链式查询的方式,如list()原创 2022-09-08 10:59:38 · 1415 阅读 · 1 评论 -
MySQL数据库设计规范及SQL规范
说明:索引长度与区分度是一对矛盾体,一般对于字符串类型数据,长度为20的索引,区分度会高达90%以上,可以使用count(distinct left(列名,索引长度))/count(*)的区分度来确定。说明:合理创建联合索引(避免冗余), index(a,b,c) 相当于 index(a) 、 index(a,b) 、 index(a,b,c)。说明:5.5 以后的默认引擘,支持事务,行级锁,更好的恢复性,高并发下性能更好,对多核,大内存, SSD等硬件支持更好。索引a_b无法排序。.........原创 2022-08-10 17:34:38 · 668 阅读 · 0 评论 -
Windows/MySQL8 使用zip包安装
MySQL8 使用zip包安装下载:https://dev.mysql.com/downloads/mysql/解压到要安装的路径在路径中新建my.ini文件[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=C:/sofeware/mysql-8.0.29-winx64# 设置mysql数据库的数据的存放目录datadir=C:/sofeware/mysql-8.0.29-winx64/data# 允许最大连接数max_connect原创 2022-05-05 13:35:53 · 479 阅读 · 1 评论 -
Mac安装与配置MySQL
Mac安装与配置MySQL安装MySQL官网下载:https://dev.mysql.com/downloads/mysql/选择你需要的版本下载,我这里直接下载dmg安装[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9wVSASpj-1647780600716)(/Users/cat/Library/Application Support/typora-user-images/image-20220320201507233.png)]Mysql8将基于新的加密方式原创 2022-03-20 20:51:00 · 1071 阅读 · 0 评论 -
Mac安装Redis
MAC下安装Redis**官网下载安装包:**http://redis.io/download**解压:**将下载的redis.tar.gz解压到/usr/local目录(命令tar -zvxf redis.tar.gz)**编译测试:**终端进入redis目录,输入命令sudo make test可能遇到的问题:cat@CatdeMacBook-Pro redis-6.2.6 % sudo make testsudo: /etc/sudoers is world writablesudo:原创 2022-03-17 17:57:29 · 923 阅读 · 0 评论 -
Redis - 非关系型数据库
Redis是Key-Value型NoSQL数据库Redis将数据存储在内存中,同时也能持久化到磁盘Redis常用于缓存,利用内存的高效提高程序的处理速度。原创 2021-08-23 12:16:41 · 239 阅读 · 0 评论 -
MyBatis 进阶
MyBatis 进阶MyBatis所有学习案例:https://gitee.com/pikachu2333/mybatis-simpleMyBatis日志管理日志文件是用于记录系统操作事件的记录文件或文件集合日志保存历史数据,是诊断问题以及理解系统活动的重要依据SLF4j与Logback早期的Java项目中,基本都是使用的log4j,log4j和logback这两个日志管理实现都是由一个人开发的。英文log4j虽然经过多次更新迭代,仍然有些问题积重难返,所以作者另起炉灶开发了另一款日志管理原创 2021-08-05 14:04:41 · 169 阅读 · 0 评论 -
MyBatis 入门
MyBatis框架软件开发中的框架框架是可被应用开发者定制的应用骨架框架是一种规则,保证开发者遵守相同的方式开发程序框架提倡“不要重复造轮子”,对基础功能进行封装框架的优点极大的提高了开发的效率统一的编码规则,利于团队管理灵活配置的应用,拥有更好的维护性SSM开发框架Spring 对象容器框架,提供底层的对象管理,是框架的框架,其他的框架都要基于该框架进行开发。Spring MVC web开发框架,用于替代servlet,提供Web底层的交互,进行更有效的web开发。My原创 2021-08-04 11:43:36 · 255 阅读 · 0 评论 -
JDBC数据库开发
人力资源管理案例JDBC操作所有案例代码:https://gitee.com/pikachu2333/jdbc-study数据库信息数据库:company数据表:employee账号:root密码:root数据表结构和内容:CREATE TABLE employee( eno INT PRIMARY KEY, ename VARCHAR(20), salary FLOAT, dname VARCHAR(40));INSERT INTO employee(eno,ename,sa原创 2021-07-24 20:13:43 · 666 阅读 · 1 评论 -
数据库详细知识
SQL语言分类DML数据操纵语言:添加、修改、删除、查询DCL数据控制语言:用户、权限、事务DDL数据定义语言:逻辑库、数据包、视图、索引SQL语句注意事项SQL语句不区分大小写,但是字符串区分大小写SQL语句必须以分号结尾SQL语句中空白和换行没有现在,但是不能破坏语法SQL语句的注释# 单行注释 /*多行注释*/创建逻辑库创建、查看、删除mysql > create database 逻辑库名称;mysql > drop database 逻辑库名称;创建数据表。...原创 2021-07-21 11:39:40 · 510 阅读 · 3 评论 -
沈师 Java程序设计 PTA 选择题 无答案版
答案链接:原创 2021-06-09 13:50:19 · 2877 阅读 · 0 评论 -
沈师 数据库原理 PTA 填空题 无答案版
答案链接:https://blog.csdn.net/a2272062968/article/details/117713227 1.1 是长期存储在计算机内有组织、可共享的大量数据的集合。数据模型的组成要素中描述系统静态特性的是 2.1 ,描述系统动态特性的是&nb原创 2021-06-09 10:43:46 · 3765 阅读 · 1 评论 -
沈师 数据库原理 PTA 选择题 无答案版
答案链接:https://blog.csdn.net/a2272062968/article/details/117712043下面对数据模型的不正确叙述是( )。A. 逻辑层次上的数据模型有三个要素:数据结构、数据操作、数据完整性约束。B. 数据模型可分为三个层次:概念模型、逻辑模型、物理模型。C. 到目前为止,逻辑数据模型只有三种:层次模型、网状模型、关系模型。D. 数据模型是用来表示数据及数据之间联系的。数据库系统的数据独立性体现在()。A. 不会因为某些存储结构的变化而影响其他原创 2021-06-09 10:38:36 · 5131 阅读 · 0 评论 -
沈师 数据库原理 PTA 判断题 无答案版
. 由于数据库中的数据是不断更新的,因此关系模式是相对变化的。2. 信息能够消除某种不确定性。3. 数据库中的数据采用统一的模型来表示。4. 外模式/模式映像可以保证数据与程序的逻辑独立性。5. 一个数据库只有一个模式和一个内模式。6. 数据库中的数据冗余度高。7. 三级模式结构可提供数据独立性。8. 数据库的三级模式结构能够提高系统的安全性。...原创 2021-06-09 10:36:02 · 2570 阅读 · 0 评论 -
沈师 数据库原理 PTA 填空题答案
病人就诊有就诊日期属性。图书信息包括:书号、书名、作者、数量、出版社、单价、架号。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。经过分析后的描述信息有:科室的科室名,科室地址,科室电话,医生的工作证号,姓名,职称,年龄,病房的病房号,床位号和病人的病历号,姓名,性别等,同时我们也关心病人的主管医生,所住病房,医生所属科室等信息。P(PNO,PNAME,PADDR,PQTY),其中分别代表:零件号,零件名称,零件存放地点和零件库存量,PNO,char,5。..原创 2021-06-09 10:34:55 · 19223 阅读 · 3 评论 -
沈师 数据库原理 PTA 选择题答案
数据模型的不正确叙述是( )。A. 逻辑层次上的数据模型有三个要素:数据结构、数据操作、数据完整性约束。B. 数据模型可分为三个层次:概念模型、逻辑模型、物理模型。C. 到目前为止,逻辑数据模型只有三种:层次模型、网状模型、关系模型。D. 数据模型是用来表示数据及数据之间联系的。正确答案:C. 到目前为止,逻辑数据模型只有三种:层次模型、网状模型、关系模型。数据...原创 2021-06-09 08:42:12 · 26530 阅读 · 3 评论 -
沈师 数据库原理 PTA 判断题答案
1. 由于数据库中的数据是不断更新的,因此关系模式是相对变化的。 F2. 信息能够消除某种不确定性。 T3. 数据库中的数据采用统一的模型来表示。 T4. 外模式/模式映像可以保证数据与程序的逻辑独立性。 T5. 一个数据库只有一个模式和一个内模式。 T...原创 2021-06-09 08:41:26 · 13748 阅读 · 2 评论 -
数据库模式分解----如何判断保持无损连接性和保持函数依赖
数据库模式分解----如何判断保持无损连接性和保持函数依赖书上的算法写的太抽象了!看了半天!简单用人话解释一下!在之前首先要了解一下属性集的闭包的概念属性集的闭包令α为一属性集。我们称在函数依赖集F下由α函数确定的所有属性的集合为F下α的闭包,记为α+。简单说闭包就是由一个属性集直接或间接推到出的所有属性的集合。例如关系模式R的属性集U={A,B,C,D,E},F={A→B, B→C, D→E}是R上的函数依赖集,设α={A,E},属性A根据函数依赖F能得到闭包a+ = {A,B,C,E}保持无原创 2021-05-08 09:38:11 · 23051 阅读 · 13 评论 -
PTA沈师数据库原理——DB(10)_SQL实验题
题目和答案是用python写的爬虫获取的,原理是selenium可以模拟人的操作让浏览器自动执行动作绕过验证码的操作,登陆后爬取数据就相对简单了,爬虫的代码基本功能已经实现但还没完善,等完善之后分享爬虫源码给大家;努力研究中ing…133和168题答案未提交通过,怀疑题有问题。。。也可能我写的不对R10-1 A1-3查询顾客表中所有不重复的城市 (2 分)select distinct Cityfrom customersR10-2 查询学生表所有学生记录 (2 分)select * from原创 2021-03-31 15:34:06 · 81323 阅读 · 8 评论