
数据库
文章平均质量分 81
zhoupenghui168
这个作者很懒,什么都没留下…
展开
-
ClickHouse进行LEFT JOIN 关联查询时, 关联键的数据类型不一致,导致报错 的解决方案详解
ClickHouse进行LEFT JOIN 关联查询时, 关联键的数据类型不一致,导致报错 的解决方案详解common type for joined columns: UserId: UInt64 at left, bupb.UserId: Int64 at right. There is no supertype for types UInt64, Int64原创 2025-04-22 09:46:35 · 855 阅读 · 0 评论 -
golang操作ClickHouse在使用Select关键字进行查询时,并使用toString, round函数计算百分比并将结果转换为字符串并附加百分号时,出现NAN%的解决方案详解
golang操作ClickHouse在使用Select关键字进行查询时,并使用toString, round函数计算百分比并将结果转换为字符串并附加百分号时,出现NAN%的解决方案详解原创 2025-04-15 10:20:57 · 1018 阅读 · 0 评论 -
golang中使用ClickHouse查询,报错:Column goods_name is not under aggregate function and not in GROUP BY 解决办法
golang中使用ClickHouse查询,报错:Column goods_name is not under aggregate function and not in GROUP BY 解决办法原创 2025-04-11 18:06:09 · 342 阅读 · 0 评论 -
ClickHouse查询涉及到多个分布式表,出现错误:DB::Exception: Double-distributed IN/JOIN subqueries is denied分析以及解决办法
ClickHouse查询涉及到多个分布式表,出现错误:DB::Exception: Double-distributed IN/JOIN subqueries is denied分析以及解决办法原创 2025-02-28 17:56:51 · 405 阅读 · 0 评论 -
golang通过AutoMigrate方法自动创建table详解
在 Go 语言中,GORM支持Migration特性,支持根据Go Struct结构自动生成对应的表结构,使用 GORM ORM 库的 AutoMigrate 方法可以自动创建数据库表,确保数据库结构与定义的模型结构一致。AutoMigrate 方法非常方便,特别适合在开发阶段进行快速迭代注意: AutoMigrate 会创建表、缺失的外键、约束、列和索引出于保护数据的目的,它 不会 删除未使用的列AutoMigrate 会自动创建数据库外键约束,可以在初始化时禁用此功能原创 2025-01-27 16:46:47 · 1637 阅读 · 1 评论 -
golang请求云数据库ClickHouse数据库报错:err code: 202, message: Too many simultaneous queries. Maximum: 100
开发环境:语言: golang1.22数据库引擎: GORM数据库: ClickHouse场景:当使用sync.WaitGroup并发执行多个gorm相关的goroutine时,报错:err code: 202, message: Too many simultaneous queries. Maximum: 100原创 2025-01-17 16:14:02 · 306 阅读 · 0 评论 -
DBeaver Ultimate24.0数据库图形化管理工具工具连接各类数据库
DBeaver Ultimate 是一款强大的数据库管理工具,支持多种数据库的连接与管理,包括但不限于 MySQL、PostgreSQL、Oracle、SQL Server、SQLite 、Redis、ClickHouse、MongoDB、ODBC、CouchBase、Kafka、ElasticSearch、Neo4j等。以下是 DBeaver Ultimate 24.0 的一些主要特点和功能原创 2025-01-13 09:58:36 · 643 阅读 · 0 评论 -
mysql和redis的区别
mysql和redis的区别,内存和硬盘的区别原创 2024-03-09 16:06:58 · 1094 阅读 · 2 评论 -
redis持久化的几种方式
1.前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式...转载 2022-01-15 17:42:19 · 12701 阅读 · 0 评论 -
MySQL死锁产生的原因和解决方法
线程安全问题以及MySQL死锁产生的原因和解决方法排查方法和案例分析原创 2024-02-24 22:16:46 · 5615 阅读 · 0 评论 -
[Kubernetes]5. k8s集群StatefulSet详解,以及数据持久化(SC PV PVC)
k8s集群StatefulSet详解,以及数据持久化(SC PV PVC),借助腾讯云容器服务实现数据持久化操作,借助本地磁盘实现数据持久化操作原创 2024-01-08 22:57:13 · 1647 阅读 · 2 评论 -
[Docker]四.Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb
Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb原创 2023-11-01 22:54:25 · 5952 阅读 · 1 评论 -
MySQL工作日志-给相同前缀库里的相同前缀表添加字段
MySQL工作日志-给相同前缀库里的相同前缀表添加字段原创 2023-08-23 19:26:17 · 177 阅读 · 0 评论 -
redis-server进程无法关闭终极解决方案
edis-server进程无法关闭终极解决方案原创 2023-08-03 19:37:52 · 1294 阅读 · 0 评论 -
MySQL登录时报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决办法
MySQL登录时报错_ERROR 1045 (28000)_ Access denied for user 'root'@'localhost'解决办法原创 2023-06-13 15:41:02 · 17562 阅读 · 5 评论 -
在一个成百上千万级的数据库查寻中,如何提高查询效率
在一个成百上千万级的数据库查寻中,如何提高查询效率原创 2023-04-06 19:17:18 · 859 阅读 · 0 评论 -
mysql 大量数据插入优化
mysql 大量数据插入优化原创 2023-04-04 15:41:26 · 2145 阅读 · 2 评论 -
mysql之explain使用详解
mysql之explain使用详解原创 2023-04-03 17:07:32 · 719 阅读 · 1 评论 -
Mysql优化
Mysql优化,索引优化,sql语句的优化和正确使用,分区分表基数,mysql的定时备份原创 2023-03-29 10:44:04 · 737 阅读 · 0 评论 -
使用Navicat进行ssh通道连接mysql数据库操作详解
使用Navicat进行ssh通道连接mysql数据库操作详解原创 2023-03-28 16:58:15 · 827 阅读 · 0 评论 -
MySQL开发规范与使用技巧总结
MySQL开发规范与使用技巧总结原创 2023-03-28 16:14:08 · 778 阅读 · 0 评论 -
mysql 选择什么样的 string 类型
关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar。但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道。。。。。。于是去查阅了一些资料,顺便将这三种类型做个比较:(1)char:char不用多说了,它是定长格式的,但是长度范围是0~255.当你想要储存一个长度不足255的字符时,my原创 2016-03-23 10:05:06 · 3174 阅读 · 1 评论 -
关于mysql锁机制详解
锁概述 MySQL的锁机制,就是数据库为了保证数据的一致性而设计的面对并发场景的一种规则。 最显著的特点是不同的存储引擎支持不同的锁机制,InnoDB支持行锁和表锁,MyISAM支持表锁。 表锁就是把整张表锁起来,特点是加锁快,开销小,不会出现死锁,锁粒度大,发生锁冲突的概率高,并发相对较低。 行锁就是以行为单位把数据锁起来,特点是加锁慢,开销大,会出现死锁,锁粒度小,发生锁冲突的概率低,并发度也相对表锁较高。MyISAM锁MyISAM的锁调度 在MyISAM引擎中,读锁转载 2022-01-15 21:34:50 · 285 阅读 · 0 评论 -
深入理解mysql索引机制
一.索引介绍1.什么是索引索引是为了加速对表中数据加速检索的一种分散存储的数据结构,旨在索引中返回查找的数据或者指向数据的指针.通说的来讲:索引就好比一本书的目录,它能让你更快的找到自己想要的内容,让获取的数据更有目的性,从而提高数据库检索数据的性能在上表中,如果没有索引,我们通过select * from user where id = 40需要进行全表扫描,如果有索引,我们只需要对上表进行二分查找,即找到索引对应的行数据2.索引分类单列索引:即一个索引只包含...原创 2022-01-16 22:03:27 · 1163 阅读 · 0 评论 -
MySQLthis is incompatible with sql_mode=only_full_group_by-错误解决方案
MySQLthis is incompatible with sql_mode=only_full_group_by-错误解决方案原创 2022-02-11 16:42:43 · 8711 阅读 · 3 评论 -
mysql 语句执行的过程
一.mysql客户端和服务器通讯简介 mysql客户端和服务器之间的通讯协议是“半双工”的,这意味着,在任何一个时刻,要么由服务器向客户端发送数据,要么由客户端向服务器发送数据,这两个动作不能同时发生。这种协议让mysql通信简单快速,但也限制了mysql。一个明显的限制是,这意味着没办法进行流量限制。一旦一端开始发生消息,另一端要接收完整个消息才能响应他。 客户端用一个单独的数据包将查询传给服务器。一旦客户端发送了请求,他能做的事情就只是等待结果了。 相反的,一般服务器响应给...原创 2022-02-11 17:43:51 · 1967 阅读 · 0 评论 -
Redis缓存和MySQL数据一致性方案详解
一、需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。不管是先写MySQL数据库,再删除Redis缓存;还是先删除缓存,再写库,都有原创 2022-02-24 10:20:49 · 466 阅读 · 0 评论 -
分布式之数据库和缓存双写一致性方案解析
引言为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三个部分组成1、讲解缓存更新策略2、对每种策略进行缺点分析3、针对缺点给出改进方案.转载 2022-02-24 10:41:33 · 228 阅读 · 0 评论 -
Mysql 实现基于binlog的主从同步
工作原理1、主节点必须启用二进制日志,记录任何修改了数据库数据的事件。2、从节点开启一个线程(I/O Thread)把自己扮演成 mysql 的客户端,通过 mysql 协议,请求主节点的二进制日志文件中的事件3、主节点启动一个线程(dump Thread),检查自己二进制日志中的事件,跟对方请求的位置对比,如果不带请求位置参数,则主节点就会从第一个日志文件中的第一个事件一个一个发送给从节点。4、从节点接收到主节点发送过来的数据把它放置到中继日志(Relay log)文件中。并记录该次请求到主转载 2022-02-24 10:56:40 · 4806 阅读 · 0 评论 -
mysql覆盖索引与回表
select id,name where name='shenjian'select id,name,sex* where name='shenjian'*多查询了一个属性,为何检索过程完全不同?什么是回表查询?什么是索引覆盖?如何实现索引覆盖?哪些场景,可以利用索引覆盖来优化SQL?这些,这是今天要分享的内容。画外音:本文试验基于MySQL5.6-InnoDB。一、什么是回表查询?这先要从InnoDB的索引实现说起,InnoDB有两大类索引: 聚集索引(clu原创 2022-02-24 11:09:38 · 309 阅读 · 0 评论 -
php防止sql注入的方法
一、什么是SQL注入式攻击?所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:⑴ 某个php Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码⑵ 登录页面中输入的内容将直接用来构造动态的SQL命令,或...原创 2022-02-24 20:01:41 · 8692 阅读 · 0 评论 -
mysql5.7,用group by 查询时抛出如下异常
of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'statistic.record.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by.原创 2022-03-11 13:53:26 · 676 阅读 · 0 评论 -
mysql数据库的4中隔离级别详解
数据库的4种隔离级别,事务的特性,脏读,幻读,不可重复读原创 2022-01-15 21:26:37 · 3075 阅读 · 0 评论 -
gin框架中import gorm.io/driver/mysql, 使用go mod tidy 命令后时,报错
import gorm.io/driver/mysql, 使用go mod tidy ,报错: gorm.io/driver/mysql: gorm.io/driver/mysql@v1.4.6: verifying module: gorm.io/driver/mysql@v1.4.6: checking tree#15366953 against tree#15495139: reading https://goproxy.io/sumdb/sum.golang.org/tile/8/1/234原创 2023-02-09 08:12:29 · 1087 阅读 · 0 评论 -
MySQL数据库中CHAR与VARCHAR之争
【引言】在数据库中,字符型的数据是最多的,可以占到整个数据库的80%以上。为此正确处理字符型的数据,对于提高数据库的性能有很大的作用。在字符型数据中,用的最多的就是Char与Varchar两种类型。前面的是固定长度,而后面的是可变长度。现在我们需要考虑的是,在什么情况下使用Char字符型数据,什么情况下采用Varchar字符型数据。在这部分内容中,我就跟大家来探讨一下这个话题。一、VA原创 2016-03-23 09:54:32 · 793 阅读 · 1 评论 -
Redis五种数据类型及其应用场景
Redis五种数据类型及其应用场景:string,hash,set,list,sorted set原创 2023-03-22 19:45:38 · 1564 阅读 · 0 评论 -
REDIS中的缓存穿透,缓存击穿,缓存雪崩原因以及解决方案
REDIS中的缓存穿透,缓存击穿,缓存雪崩原因以及解决方案原创 2023-02-22 22:08:21 · 847 阅读 · 0 评论 -
redis实现用户签到,统计活跃用户,用户在线状态,用户留存率
redis实现用户签到,统计活跃用户,用户在线状态,用户留存率原创 2023-02-21 18:22:38 · 4032 阅读 · 0 评论 -
mongodb:MongoDB\Driver\Exception\AuthenticationException: Authentication failed
mongodb:MongoDB\Driver\Exception\AuthenticationException: Authentication failed原创 2022-05-12 15:02:54 · 1186 阅读 · 0 评论 -
linux环境,使用docker-compose快速搭建mongodb数据库
linux环境,使用docker-compose快速搭建mongodb数据库原创 2022-05-12 11:22:53 · 601 阅读 · 0 评论