数据库
文章平均质量分 59
菜鸟是大神
人有两次生命,一次是出生,一次是觉醒,希望我们可以在风华正茂时重获新生,而不是在垂暮之年幡然醒悟。
展开
-
【已解决】EL1008E: Property or field ‘productId‘ cannot be found on object of type ‘com.
改为 自身的更新就ok了。原创 2024-08-26 21:45:00 · 331 阅读 · 0 评论 -
mysql中smallint和tinyint有什么区别
存储空间效率:由于占用的存储空间较小,tinyint比smallint更节省存储空间。取值范围:tinyint可以存储的整数范围是-128到127,而smallint可以存储的整数范围是-32768到32767。存储空间大小:tinyint占用1个字节(8位),而smallint占用2个字节(16位)。在MySQL中,smallint和tinyint都是整数数据类型,但有一些区别。默认值:tinyint的默认值为0,而smallint的默认值为NULL。原创 2024-08-19 22:00:00 · 590 阅读 · 0 评论 -
【数据库表结构整理】screw 一键生成数据库文档,从此告别人工整理文档
新建测试类,编写如下代码生成文档,其次配置数据库相关连接信息;根据需要可以有选择性的配置相关属性:比如:生成文档的格式(下面配置的为HTML格式)、配置忽略哪些表等。配置完成后,运行main函数即可生成数据库文档。在pom.xml文件中引入如下依赖。如果报错,看下pom文件。原创 2024-06-11 22:00:00 · 456 阅读 · 0 评论 -
【已解决】[main] ERROR com.zaxxer.hikari.HikariConfig - Failed to load driver class com.mysql.cj.jdbc.Dri
要修复此错误,您需要确保MySQL JDBC驱动程序包含在项目的类路径中。您可以通过将驱动程序作为依赖项添加到项目的构建文件中(例如pom.xml,如果您正在使用Maven),然后重新构建项目来完成此操作。重建项目后,MySQL JDBC驱动程序应该在类路径中可用,应用程序应该能够加载它。然后,通过运行mvn clean install或使用构建工具的等效命令重建项目。此错误消息表示应用程序找不到MySQL JDBC驱动程序。原创 2024-06-11 21:45:00 · 531 阅读 · 0 评论 -
【基础详解】快速入门入门 SQLite数据可
SQLite 是一个开源的嵌入式关系数据库,实现了自给自足的、无服务器的、配置无需的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库系统不同,比如 MySQL、PostgreSQL 等,SQLite 不需要在系统中设置和管理一个单独的服务。这也使得 SQLite 是一种非常轻量级的数据库解决方案,非常适合小型项目、嵌入式数据库或者测试环境中。无服务器的:SQLite 不是一个单独的服务进程,而是直接嵌入到应用程序中。它直接读取和写入磁盘文件。事务性的。原创 2024-05-22 21:30:00 · 3008 阅读 · 0 评论 -
【yijiej】mysql报错 之 报错:Duplicate entry 字段 for key ‘表名.idx_字段’
1、当 mysql中报错 Duplicate entry 字段 for key ‘表名.idx_字段’ 就是代表字段不对,索引字段重复。Mysql 进行insert 操作,报错:Duplicate entry 字段 for key ‘表名.idx_字段’原因解析:idx 是做的索引键,是具有唯一性。修改重复的字段,重新进行insert。原创 2024-05-20 21:15:00 · 751 阅读 · 0 评论 -
【已解决】navicat 连接数据库报错:[ERR] 2006 - MySQL server has gone away
【代码】【已解决】navicat 连接数据库报错:[ERR] 2006 - MySQL server has gone away。原创 2024-04-20 21:45:00 · 460 阅读 · 0 评论 -
【已解决】服务器安装mysql报错:Failing package is: mysql-community-libs-5.7.44-1.el7.x86_64
执行命令后,可能会出现下面的错误信息。原创 2024-04-20 21:15:00 · 1461 阅读 · 0 评论 -
【最全四种方案对比】Redis 与 MySQL 数据一致性问题探讨
缓存中存有数据,缓存的数据值 = 数据库中的值;缓存中没有该数据,数据库中的值 = 最新值。缓存的数据值 ≠ 数据库中的值;缓存或者数据库存在旧的数据,导致线程读取到旧数据。❝为何会出现数据一致性问题呢?把 Redis 作为缓存的时候,当数据发生改变我们需要双写来保证缓存与数据库的数据一致。数据库跟缓存,毕竟是两套系统,如果要保证强一致性,势必要引入 2PC 或 Paxos 等分布式一致性协议,或者分布式锁等等,这个在实现上是有难度的,而且一定会对性能有影响。原创 2024-04-13 10:41:37 · 1895 阅读 · 0 评论 -
【索引失效】MySQL索引失效场景
如果规则是 MySQL 会将自动「数字」转换成「字符串」,就相当于 select "10" > "9",这个是字符串比较,字符串比较大小是逐位从高位到低位逐个比较(按ascii码) ,那么"10"字符串相当于 “1”和“0”字符的组合,所以先是拿 “1” 字符和 “9” 字符比较,因为 “1” 字符比 “9” 字符小,所以结果应该是 0。不过,从 MySQL 8.0 开始,索引特性增加了函数索引,即可以针对函数计算后的值建立一个索引,也就是说该索引的值是函数计算后的值,所以就可以通过扫描索引来查询数据。原创 2024-03-23 10:45:36 · 1101 阅读 · 0 评论 -
【数据库优化汇总】使用这8招后,数据库查询从191s优化到30ms!
举个例子,假如某个查询功能需要3秒时间,串行查询的时候并没什么问题,我们继续假设这功能每秒大概QPS为100,那么在第一次查询结果返回之前,接下来的所有查询都应该穿透到数据库,也就意味着这几秒时间有300个请求到数据库,如果这个时候数据库CPU达到了100%,那么接下来的所有查询都会超时,也就是无法有第一个查询结果缓存起来,从而还是形成了缓存击穿。对于一些旧的项目来说,某些业务的数据入口非常多,无法完整清晰的梳理清楚,这个时候CDC就是一种非常好的方式,只要从最底层数据库层面把变更记录取到就可。原创 2023-12-26 14:55:51 · 1109 阅读 · 0 评论 -
hikaripool connection is not available,request timed out after 30051ms
修改方案:原创 2023-09-04 11:11:43 · 639 阅读 · 0 评论 -
/var/empty/sshd must be owned by root and not group or world-writable
这个是权限的问题可采取以下两步解决。原创 2023-07-25 11:35:42 · 865 阅读 · 0 评论 -
【已解决】authentication method 10 not supported
这个主要原因是认证方式使用的是scram-sha-256或md5,而客户端的Navicat的libpq.dll并不支持scram-sha-256和md5。在确保参数listen_addresses = ‘*’,并且pg_hba.conf支持远程连接的条件下,执行pg_ctl reload后,还是报错。编辑/var/lib/pgsql/13/data/postgresql.conf。编辑/var/lib/pgsql/13/data/pg_hba.conf。解决方案二:(navicat认证版本低)原创 2023-07-20 09:18:55 · 6581 阅读 · 0 评论 -
【数据库优化】记一次引入Elasticsearch的系统架构实战
我曾经面试,当时面试官问了我一个问题:如果你想使用某个新技术但是领导不愿意,你怎么办?对于该问题我相信大家就算没有面试被问到过,现实工作中同事之间的合作也会遇到。因此从我的角度重新去回答这个问题,有以下几点:1.师出有名,在软件工程里是针对问题场景提供解决方案的,如果脱离的实际问题(需求)去做技术选型,无疑是耍流氓。大家可以回顾身边的“架构师”、“技术Leader”是不是拍拍脑袋做决定,问他们为什么这么做,可能连个冠冕堂皇的理由都给不出。2.信任度,只有基于上面的条件,你才有理由建议引入新技术。原创 2022-10-22 20:42:27 · 343 阅读 · 0 评论 -
【数据库优化】后端思维之数据库性能优化方案
毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题。如果我们有一套成熟的方法论,能让大家快速、准确的去选择出合适的优化方案,我相信能够快速准备解决咱么日常遇到的80%甚至90%的性能问题。 从解决问题的角度出发,我们得先了解到问题的原因;其次我们得有一套思考、判断问题的流程方式,让我们合理的站在哪个层面选择方案;最后从众多的方案里面选择一个适合的方案进行解决问题,找到一个合适的方案的前提是我们自己对各种方案之间的优缺点、场景有足够的了解原创 2022-10-22 20:35:30 · 248 阅读 · 0 评论 -
【已解决】com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last p
数据库连接后面加上:原创 2022-10-18 23:31:17 · 2377 阅读 · 2 评论 -
bash: mysql: command not found
mysql -u root -p出现错误:-bash: mysql: command not found。再重复mysql -u root -p,输入mysql口令即可。原创 2022-10-09 17:31:19 · 1078 阅读 · 0 评论 -
【已解决】MySQL - 存储过程SQL中的错误1064 BEGIN DECLARE VAL bigint 1064 -
解决方法,最前面加个。原创 2022-10-09 17:30:11 · 443 阅读 · 0 评论 -
【最全最详细】图解 SQL 的执行顺序
分组结束之后,我们再执行select语句,因为聚合函数是依赖于分组的,聚合函数会单独新增一个查询出来的字段,这里用紫色表示,这里我们两个id重复了,我们就保留一个id,重复字段名需要指向来自哪张表,否则会出现唯一性问题。我们之前看到了普通的筛选条件是不影响的,但是having还支持聚合函数,这是where无法实现的。然后把再根据我们要的数据进行select,可以是普通字段查询也可以是获取聚合函数的查询结果,如果是集合函数,select的查询结果会新增一条字段。用于确定我们要查询的表的范围,涉及哪些表。原创 2022-09-23 14:13:44 · 4654 阅读 · 1 评论 -
【MySQL优化查询】MySQL单表过亿条数据,如何优化查询速度?
上面主要从:垂直和水平,两个方向介绍了我们的系统为什么要分库分表。说实话垂直方向(即业务方向)更简单。在水平方向(即数据方向)上,分库和分表的作用,其实是有区别的,不能混为一谈。分库:是为了解决数据库连接资源不足问题,和磁盘IO的性能瓶颈问题。分表:是为了解决单表数据量太大,sql语句查询数据时,即使走了索引也非常耗时问题。此外还可以解决消耗cpu资源问题。分库分表:可以解决 数据库连接资源不足、磁盘IO的性能瓶颈、检索数据耗时 和 消耗cpu资源等问题。原创 2022-09-18 23:10:24 · 3045 阅读 · 2 评论 -
【最全最详细explain讲解】explain | 索引优化的这把绝世好剑,你真的会用吗?
对于互联网公司来说,随着用户量和数据量的不断增加,慢查询是无法避免的问题。一般情况下如果出现慢查询,意味着接口响应慢、接口超时等问题。如果是高并发的场景,可能会出现数据库连接被占满的情况,直接导致服务不可用。慢查询的确会导致很多问题,我们要如何优化慢查询呢?主要解决办法有:监控sql执行情况,发邮件、短信报警,便于快速识别慢查询sql打开数据库慢查询日志功能简化业务逻辑代码重构、优化异步处理sql优化索引优化其他的办法先不说,后面有机会再单独介绍。原创 2022-09-15 05:51:15 · 4753 阅读 · 2 评论 -
【最全最详细数据库优化】sql优化的15个小技巧
这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。原创 2022-09-15 05:43:11 · 1287 阅读 · 0 评论 -
【最全最详细索引失效】索引失效的10种场景,数据库优化
不知道你在实际工作中,有没有遇到过下面的这两种情况:明明在某个字段上加了索引,但实际上并没有生效。索引有时候生效了,有时候没有生效。今天就跟大家一起聊聊,mysql数据库索引失效的10种场景,给曾经踩过坑,或者即将要踩坑的朋友们一个参考。原创 2022-09-15 05:31:47 · 359 阅读 · 1 评论 -
【数据库优化】明明加了唯一索引,为什么还是产生重复数据?
在mysql8的一张innodb引擎的表中,加了唯一索引,但最后发现数据竟然还是重复了。到底怎么回事呢?本文通过一次踩坑经历,聊聊唯一索引,一些有意思的知识点。原创 2022-09-15 05:26:29 · 283 阅读 · 0 评论 -
【最全最详细数据库设计技巧】数据库设计技巧,同事也开始悄悄模仿了...
对于后端开发同学来说,访问数据库,是代码中必不可少的一个环节。系统中收集到用户的核心数据,为了安全性,我们一般会存储到数据库,比如:mysql,oracle等。后端开发的日常工作,需要不断的建库和建表,来满足业务需求。通常情况下,建库的频率比建表要低很多,所以,我们这篇文章主要讨论建表相关的内容。如果我们在建表的时候不注意细节,等后面系统上线之后,表的维护成本变得非常高,而且很容易踩坑。今天就跟大家一起聊聊,数据库建表的15个小技巧,希望对你会有所帮助。原创 2022-09-14 22:20:41 · 716 阅读 · 0 评论 -
【数据库设计】数据库设计的 10 个最佳实践!
为了获得最大程度的安全性,我们应当对密码加密,使用身份验证来限制数据库的访问,并使用另一个服务器来存放数据库,而不是应用所在的服务器。文中提到的数据库设计实践,如针对长期需求进行适当的计划,选择正确的数据库类型,使用一致性的名称与标签,数据规范化,数据库设计文档化,并提前测试,这些都是我们在设计优秀数据库时需要考虑的关键问题。例如:如果一个电子商务网站预计当销售量增长时,访客会在一个月内急速增加,那么在设计数据库时应当将这一点列入考量,以便数据库可以响应迅速增长的访客,并保持在高工作负载的情况下运作。原创 2022-09-14 21:58:36 · 1193 阅读 · 0 评论 -
Unknown collation: ‘utf8mb4_0900_ai_ci‘的解决方法
utf8mb4_general_ci 替换为 utf8_general_ci。utf8mb4_0900_ai_ci替换为utf8_general_ci。SET = utf8mb4 替换为 SET = utf8。以及SET utf8mb4 替换为SET utf8。原创 2022-08-30 20:35:24 · 616 阅读 · 0 评论 -
【mysql】In aggregated query without GROUP BY, expression #1 of SELECT list contains ......
/修改sql_mode。//这一步是进行查看。之后,返回的一些数据是不确定的,所以才会出现这个错误。再次运行刚刚出错SQL命令,这次就可以正常运行了。无法正常执行,其实,是我们的。,所以导致了之前的一些。...原创 2022-08-30 20:33:07 · 1168 阅读 · 0 评论 -
Linux 查看端口占用情况
Linux 查看端口占用情况可以使用和命令。原创 2022-08-29 20:21:05 · 596 阅读 · 0 评论 -
【已解决】怎么修改mysql最大连接数
-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。,再去用命令修改的话,一旦重启mysql服务后,会重新以配置文件中指定的连接数为准。命令将最大连接数设置为100,此方法是即时生效的,不需要重启mysql服务。在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“而用命令修改,即时生效。,要通过root权限的mysql帐号才能操作,否则会报。(如果有,直接修改值即可),然后重启服务。...原创 2022-08-29 20:15:19 · 7154 阅读 · 0 评论 -
[ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘
生成转储文件的数据库版本为8.0,要导入sql文件的数据库版本为5.6,因为是高版本导入到低版本,引起1273错误。utf8mb4_0900_ai_ci替换为utf8_general_ci。使用navicate12运行sql文件出错。保存后再次运行sql文件,运行成功。打开sql文件,将文件中的所有。utf8mb4替换为utf8。...原创 2022-08-29 20:09:14 · 229 阅读 · 0 评论 -
【数据库已解决】Error【1146】:Table ‘xxx.xxx‘ doesn‘t exist问题原因及解决方法
2>在my.cnf中的[mysqld]下,追加lower_case_table_names = 1。如此表存在,则是linux的mysql区分大小写导致;如此表不存在,则看下一条方法。查找该mysql数据库的配置文件my.cnf的路径。重启mysql,重新在此表插入数据,看是否可用。【2】查看是否有此表,不要忽视大小写。【1】查看自己的sql语句是否正确。如此语句正确,则看下一条方法。...原创 2022-08-29 19:58:57 · 15288 阅读 · 0 评论 -
解决bash: mysql: command not found 的方法
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。原创 2022-08-29 15:12:34 · 706 阅读 · 0 评论 -
经典SQL语句大全---基本函数
2,substring(expression,start,length) 取子串,字符串的下标是从“1”,start为起始位置,length为字符串长度,实际应用中以len(expression)取得其长度。)如果check_expression為空,則返回replacement_value的值,不為空,就返回check_expression字符操作类。3,right(char_expr,int_expr) 返回字符串右边第int_expr个字符,还用left于之相反。为 OFF 时,返回计数。...原创 2022-08-11 15:05:02 · 398 阅读 · 0 评论 -
经典SQL语句大全---数据开发
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ';set @sql='select '+right(@list,len(@list)-1)+' from 表A'..原创 2022-08-11 15:04:24 · 280 阅读 · 0 评论 -
经典SQL语句大全---提升
注意:在top后不能直接跟一个变量,所以在实际应用中只有这样的进行特殊的处理。select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段。select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)...原创 2022-08-11 15:03:26 · 196 阅读 · 0 评论 -
经典SQL语句大全---基础
当 ALL随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。EXCEPT运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。..原创 2022-08-11 15:02:24 · 188 阅读 · 0 评论 -
【数据库优化方案】后端思维--数据库性能优化方案
慢的本质查找的时间复杂度查找算法存储数据结构数据总量数据拆分高负载CPU、磁盘繁忙无论是关系型数据库还是NoSQL,任何存储系统决定于其查询性能的主要有三种:而决定于查找时间复杂度主要有两个因素:无论是哪种存储,数据量越少,自然查询性能就越高,随着数据量增多,资源的消耗(CPU、磁盘读写繁忙)、耗时也会越来越高。从关系型数据库角度出发,索引结构基本固定是B+Tree,时间复杂度是O(log n),存储结构是行式存储。因此咱们对于关系数据库能优化的一般只有数据量。而高负载造成原因有高并发请求、复杂查询等,导致原创 2022-08-11 15:00:51 · 359 阅读 · 0 评论 -
redis按照正则批量删除key
1.使用redis-cli keys "PRO*"获取到以PRO开始的键,然后使用redis-cli del删除这些键---过于繁琐,不推荐使用。2.使用redis-cli keys "PRO*" |xargs redis-cli del一次删除,及其方便而且不会遗漏。Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。1.Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。2.与其它键值数据存储相比,Redis有一组相对丰富的数据类型。...原创 2022-08-10 14:56:02 · 1127 阅读 · 0 评论