随笔分类 -  数据库-MySQL

摘要:1. 数据库优化目的 1.1. 避免出现页面访问错误 1). 由于数据库连接timeout产生页面5xx错误; 2). 由于慢查询造成页面无法加载; 3). 由于阻塞造成数据无法提交; 1.2. 增加数据库的稳定性 1). 很多数据库的问题都是由于低效的查询引起的; 1.3. 优化用户体验 1). 阅读全文
posted @ 2024-12-13 16:38 业余砖家 阅读(70) 评论(0) 推荐(0) 编辑
摘要:1、分析查询语句 ‌MySQL的EXPLAIN命令主要用于分析SQL查询的执行计划,帮助理解MySQL如何处理SQL语句,并优化查询性能。‌ (1)EXPLAIN的作用 1)、‌表的读取顺序‌:显示MySQL如何读取表和执行JOIN操作。 2)、‌数据读取操作的操作类型‌:如全表扫描、索引扫描等。 阅读全文
posted @ 2024-12-13 15:20 业余砖家 阅读(14) 评论(0) 推荐(0) 编辑
摘要:在MySQL中,如果你想要将一行数据的多列值放到另一列的多个行中,你可以使用一个辅助表(例如,使用nums表)来生成序列,然后与你的原始表进行联接。 比如下面一行一行数据,包含col1~col5总共5列,现在需要将这5类转换到一列中。 转换前的数据: 转换后的结果: 以下是一个示例: 首先,创建一个 阅读全文
posted @ 2024-11-13 09:41 业余砖家 阅读(99) 评论(0) 推荐(0) 编辑
摘要:背景 在数据中台中,有时为了核对数据,需要每天批量统计MySQL数据库中表的数据量,但是DMS中没有周期调度功能。 MySQL创建表 --统计的表清单 CREATE TABLE `dws_table_list` ( `table_name` varchar(255) DEFAULT NULL, `f 阅读全文
posted @ 2024-08-23 10:04 业余砖家 阅读(109) 评论(0) 推荐(0) 编辑
摘要:要在MySQL中开启二进制日志(Binlog),可以按照以下步骤操作: 打开 MySQL 配置文件 my.cnf。该文件通常位于 /etc/my.cnf、/etc/mysql/my.cnf 或者 /usr/local/mysql/my.cnf。 查找并编辑 [mysqld] 部分的内容。如果没有这个 阅读全文
posted @ 2024-03-01 17:42 业余砖家 阅读(715) 评论(0) 推荐(0) 编辑
摘要:问题描述: 在trino中配置了mysql.properties文件,但是通过trino客户端,执行命令show schemas from mysql ;查看数据库信息时报错:Error listing schemas for catalog mysql: java.sql.SQLNonTransi 阅读全文
posted @ 2024-01-29 16:08 业余砖家 阅读(1942) 评论(1) 推荐(1) 编辑
摘要:1.背景原因 当前MySQL不支持在添加和删除分区时,使用IF NOT EXISTS和IF EXISTS。所以在执行调度任务时,直接通过ADD PARTITION和DROP PARTITION不可避免会报错。本文通过创建存储过程来添加和删除分区,可以避免在分区存在时添加分区报错,或者分区不存在时删除 阅读全文
posted @ 2023-09-13 17:46 业余砖家 阅读(1243) 评论(0) 推荐(2) 编辑
摘要:一、MySQL分区简介 1、数据库分区 MySQL是一种常用的关系型数据库管理系统,分区表是一种在MySQL数据库中处理大规模数据的最佳方案之一,其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减SQL语句的响应时间。 分区表是指将表按照创建时所指定的规则(如按时间、按范围等)来进行分区, 阅读全文
posted @ 2023-09-12 17:57 业余砖家 阅读(238) 评论(0) 推荐(0) 编辑
摘要:背景 今天有同事问我一道关于数据库SQL的面试题,我刚开始随便给了一个思路,后来思索发现这个思路有漏洞,于是总结下来,仅供参考。 问题: 薪水表中是员工薪水的基本信息,包括雇员编号,和薪水,查询除去最高、最低薪水后的平均薪水。 一、薪水表信息 CREATE TABLE `salaries` ( `e 阅读全文
posted @ 2023-08-05 14:52 业余砖家 阅读(1402) 评论(7) 推荐(3) 编辑
摘要:前言:在数据库开发过程中我们经常会使用分页,核心技术是使用用limit start, count分页语句进行数据的读取。 一、MySQL分页起点越大查询速度越慢 直接用limit start, count分页语句,表示从第start条记录开始选择count条记录 : select * from te 阅读全文
posted @ 2023-06-08 14:43 业余砖家 阅读(340) 评论(0) 推荐(0) 编辑
摘要:一、生成随机数字 1. 生成 0 到 1 之间的随机数 MySQL 中的 RAND 函数可以用于生成一个大于等于 0 小于 1 的随机数字。例如: SELECT rand(); 该函数返回的数据类型为 double,包含 16 位小数;每次调用都会返回不同的数据。 如果想要重现某些场景,需要确保每次 阅读全文
posted @ 2023-06-07 17:55 业余砖家 阅读(4436) 评论(0) 推荐(0) 编辑
摘要:MySQL CDC (Change Data Capture),中文名为MySQL变化数据捕获,是一种截取MySQL主从复制流中binlog的技术,从而实时捕获数据库中的增、删、改操作。在大数据、实时计算、数据集成等领域都有广泛应用。本文将从多个方面对MySQL CDC做详细阐述,让你全面了解其背后 阅读全文
posted @ 2023-06-07 09:31 业余砖家 阅读(2086) 评论(0) 推荐(0) 编辑
摘要:MySQL中的正则表达式采用的是PCRE的规范,匹配时按字符进行。 RLIKE 您可以使用RLIKE语句匹配正则表达式,支持的元字符如下表所示。 元字符 说明 ^ 行首。 $ 行尾。 . 任意字符。 * 匹配前面的子表达式0次或多次。 + 匹配前面的子表达式1次或多次。 ? 匹配前面的子表达式0次或 阅读全文
posted @ 2023-06-02 17:03 业余砖家 阅读(289) 评论(0) 推荐(0) 编辑
摘要:一、ROLLUP简介 ROLLUP是GROUP BY子句的扩展。 ROLLUP选项允许包含表示小计的额外行,通常称为超级聚合行,以及总计行。 通过使用ROLLUP选项,可以使用单个查询生成多个分组集。 MySQL中的ROLLUP是用于 产生汇总输出的修饰符,包括表示超级汇总(较高级别)汇总操作的额外 阅读全文
posted @ 2023-05-09 17:44 业余砖家 阅读(4719) 评论(0) 推荐(2) 编辑
摘要:TSQL脚本能实现递归查询,用户使用共用表表达式 CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询。 本文详细介绍CTE递归调用的特性和使用示例,递归查询主要用于层次结构的查询,从叶级(Leaf Level)向顶层(Root Level)查询,或从顶层 阅读全文
posted @ 2023-03-27 16:48 业余砖家 阅读(2700) 评论(0) 推荐(0) 编辑
摘要:行转列的实现方式:使用mysql.help_topic --行转列 SELECT b.help_topic_id, substring_index( a.levels, ',', b.help_topic_id +1 ), substring_index( substring_index( a.le 阅读全文
posted @ 2023-03-27 16:07 业余砖家 阅读(87) 评论(0) 推荐(0) 编辑
摘要:执行函数时报错: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation 'find_in_set' 问题原因: 大意是说:collation不兼容 阅读全文
posted @ 2023-03-06 22:27 业余砖家 阅读(16308) 评论(0) 推荐(0) 编辑
摘要:创建函数时报错: 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want 阅读全文
posted @ 2023-03-06 22:16 业余砖家 阅读(289) 评论(0) 推荐(0) 编辑
摘要:MySQL 报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket 一、错误现场还原: 下面我们通过三种方式来连接,然后观察提示的错误信息: 1、直接使用“mysql”命令,不带主机名参数; 2、使用带了主机 阅读全文
posted @ 2023-01-28 09:57 业余砖家 阅读(2205) 评论(0) 推荐(0) 编辑
摘要:场景:通过mysql -h localhost -u root -p 连接MySQL数据库时报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket /tmp/mysql.sock 解决方案: 1、创建mysq 阅读全文
posted @ 2022-11-22 15:50 业余砖家 阅读(1019) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示