
《数据库问题解决方案》系列
文章平均质量分 80
常见的数据库问题
一只IT攻城狮
一个喜欢诗和远方的程序媛
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL数据库优化看这一篇就够了(最全干货篇)
当面试官让你聊聊MySQL数据库性能优化,你还是只能回答优化sql,建索引吗?让我们看看还可以从哪些方面聊聊吧。其实你还可以从网速、数据量、数据库日志、内存等问题、硬件配置,当前占用资源、硬盘碎片或索引碎片等等诸多方面分析聊聊。原创 2023-06-02 09:58:10 · 1839 阅读 · 1 评论 -
B树与B+树的区别是什么? InnoDB和MyISAM的区别是什么? MySQL索引优化、索引失效?
B树与B+树的区别是什么? InnoDB和MyISAM的区别是什么? MySQL常见的索引类型有什么? 索引优化的方法你能说出几个? 索引什么时候失效?原创 2021-03-24 18:33:41 · 1222 阅读 · 1 评论 -
MySQL 主备切换以及读写分离
主库、备库:建议你把节点 B(也就是备库)设置成只读(readonly)模式。这样做,有以下几个考虑:有时候一些运营类的查询语句会被放到备库上去查,设置为只读可以防止误操作;防止切换逻辑有 bug,比如切换过程中出现双写,造成主备不一致;可以用 readonly 状态,来判断节点的角色。因为 readonly 设置对超级 (super) 权限用户是无效的,而用于同步更新的线程,就拥有超级权限。翻译 2021-03-25 17:21:58 · 3112 阅读 · 0 评论 -
彻底解决Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource
确认需求:是否需要数据库?是 → 配置数据库或使用嵌入式数据库。否 → 排除自动配置或移除依赖。检查依赖和配置:确保依赖和配置文件一致。格式和url没问题。重启应用:修改后重新启动应用验证。根据具体场景选择合适方案即可解决问题。原创 2025-03-04 15:31:30 · 2458 阅读 · 0 评论 -
UNION和UNION ALL区别
union和union all区别原创 2024-12-01 12:14:56 · 472 阅读 · 0 评论 -
MySQL表设计经验汇总篇
MySQL表设计经验汇总篇原创 2024-06-11 14:24:15 · 1361 阅读 · 0 评论 -
Mysql5.7版本中,查询分组GROUP BY通过子查询中ORDER BY进行排序无效的问题解决办法
Mysql5.7版本中,查询分组GROUP BY通过子查询中ORDER BY进行排序无效的问题解决办法原创 2023-12-20 17:23:32 · 1483 阅读 · 0 评论 -
Mybatis-Plus使用updateById()、update()将字段更新为null
本文主要介绍了Mybatis-Plus使用updateById()、update()将字段更新为null,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。原创 2023-08-09 16:48:47 · 1124 阅读 · 0 评论 -
数据库优化之常用的show variables、show status配置优化
当面试官让你聊聊MySQL数据库性能优化,你还是只能回答优化sql,建索引吗?让我们看看还可以从哪些方面聊聊吧。其实你还可以从网速、数据量、数据库日志、内存等问题、硬件配置,当前占用资源、硬盘碎片或索引碎片等等诸多方面分析聊聊。原创 2023-06-02 10:50:27 · 901 阅读 · 2 评论 -
数据库优化之常用的show table status及ALTER TABLE 重建表
当面试官让你聊聊MySQL数据库性能优化,你还是只能回答优化sql,建索引吗?让我们看看还可以从哪些方面聊聊吧。其实你还可以从网速、数据量、数据库日志、内存等问题、硬件配置,当前占用资源、硬盘碎片或索引碎片等等诸多方面分析聊聊。原创 2023-06-02 10:35:03 · 767 阅读 · 0 评论 -
MySQL性能优化之配置参数
MySQL性能优化之配置参数,参考如下。原创 2023-06-01 16:49:40 · 2107 阅读 · 0 评论 -
sql优化常用的方法
要查询的数据就不能只在索引树里找了,得需要回表操作才能完成查询的工作,再加上是左模糊匹配,无法利用索引树的有序性来快速定位数据,所以得在索引树逐一遍历,获取主键值后,再到聚簇索引树检索到对应的数据行,这样实在太累了。离散型非常的差,优化器可能直接就选择不走索引了,因为优化器可能认为,走索引和全表扫描差不多。SQL语句中IN包含的值不应过多,MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而且这个数组是排好序的。) 是例外,并不会把全部字段取出来,而是专门做了优化,不取值。原创 2023-05-29 15:40:56 · 2281 阅读 · 0 评论 -
SQL删除重复的记录(只保留一条)-窗口函数row_number()
关键字用来指定函数执行的窗口范围,如果后面括号中什么都不写,则意味着窗口包含满足where条件的所有行,窗口函数基于所有行进行计算;2、通过查询结果可知,重复的数据行seq_id为2、7的数据过滤掉了,接下来NOT IN 操作应该删除2、7重复数据行。除非以下条件成立,否则不保证在每次执行时,使用 ROW_NUMBER() 的查询所返回行的顺序都完全相同。原因:不能先select出同一表中的某些值,再update这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值。原创 2023-05-18 10:31:17 · 4274 阅读 · 1 评论 -
mysql Lock wait timeout exceeded; try restarting transaction
也就是遇到了mysql死锁,等待资源,事务锁的问题。可能原因:意外处理没有关闭连接,导致连接过多、或是要更新的表的锁在其它线程手里、系统异常导致事务未提交,再次请求相同记录等等。当中trx_mysql_thread_id为事务线程的id,參照show full processlist命令中的线程信息查看。innodb_lock_waits表则由performance_schema.data_lock_waits表代替。综上大体可以清楚的找到等待的事务即没有获取锁的事务,进一步调整业务逻辑代码。原创 2023-05-12 18:07:34 · 3704 阅读 · 0 评论 -
MySQL体系结构及数据库引擎
MySQL体系结构及数据库引擎原创 2023-02-24 13:51:31 · 679 阅读 · 0 评论 -
关系型数据库和非关系型区别
天然就是表格式的,因此存储在数据表的行和列中,结构化存储。通常存储在数据集中,就像文档键值对列存储图结构。原创 2021-03-15 11:23:35 · 13662 阅读 · 0 评论 -
Mysql数据如何优雅的同步ES?
Mysql数据如何同步ES?原创 2021-12-08 21:20:40 · 10161 阅读 · 2 评论 -
MySQL慢查询是怎么回事
MySQL慢查询是怎么回事原创 2021-03-26 14:56:24 · 1132 阅读 · 0 评论 -
MySQL三大日志及事务隔离级别
MySQL三大日志及事务隔离级别原创 2021-03-24 11:13:49 · 1420 阅读 · 1 评论 -
一文带你了解MySQL锁及幻读、脏读是怎么产生的?
MySQL锁与幻读脏读详解原创 2021-03-25 16:40:13 · 1513 阅读 · 0 评论 -
导出数据库表信息生成Word文档
一个demo示例如何用JAVA导出Mysql数据库表信息生成Word文档。原创 2022-08-19 17:28:45 · 4080 阅读 · 0 评论 -
Mybatis对MySQL中BLOB字段的读取
Mybatis对MySQL中BLOB字段的读取原创 2022-12-20 15:38:15 · 4822 阅读 · 0 评论 -
按周统计信息及秒值转换为时分秒工具类
有时需要按周统计信息,或者将没有数据的日期补齐返给前端形成统计图:条形图、饼图等。原创 2022-11-21 13:27:56 · 425 阅读 · 0 评论 -
mysql实现生日倒计时
首先获取今年和来年的生日日期,今年生日过了则计算下一年生日距离今天多少天;mysql默认没有29号时取28号。EG:客户表customer_info 查询生日倒计时N天内生日提醒。eg:当前日期是2022-11-21。原创 2022-11-21 12:59:07 · 943 阅读 · 0 评论 -
case when then 中判断null的方法
MYSQL 中使用case when then 判断is null的方法原创 2022-11-17 18:32:45 · 3221 阅读 · 0 评论 -
Mysql逗号拼接字符串的关联查询及统计
数据库中逗号拼接的字符串,想展示其完整拼接名称或者按其值统计处理,怎么做?FIND_IN_SET函数和GROUP_CONCAT函数你会用吗?原创 2022-11-04 17:10:35 · 2289 阅读 · 6 评论 -
数据库连接池连接超时报错
数据库重启或导致数据库会强行断开已有的链接,就会报这个异常。如果在wait_timeout秒期间内,数据库连接(java.sql.Connection)一直处于等待状态,mysql就将该连接关闭。这时,你的Java应用的连接池仍然合法地持有该连接的引用。当用该连接来进行数据库操作时,就会产生上述错误。一般mysql自身连接的等待时间(wait_timeout)缺省为8小时,或者通过命令参数查看。原创 2022-09-27 11:48:11 · 6767 阅读 · 0 评论 -
Window下Mysql8.0 怎样恢复被删除的Root
Mysql8.0很多地方和之前有所不同,接下来说下如果误删了root,如何快速恢复root原创 2022-06-28 10:08:15 · 991 阅读 · 0 评论 -
Windows7安装mysql-压缩包方式
MySQL针对不同的用户提供了2中不同的版本:MySQL数据库官网下载:http://dev.mysql.com/downloads/mysql,上面提供了两种安装文件,一种是直接安装的,另一种是需要解压并配置的。Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol...原创 2022-06-20 13:16:30 · 766 阅读 · 0 评论 -
mysql查询组织机构树路径
Mysql如何获取从根节点开始的完整路径?原创 2022-01-18 01:02:16 · 2762 阅读 · 0 评论 -
java.sql.Date与java.util.Date
我们在进行日期格式和转换的时候,经常碰到这两种:java.sql.Date与java.util.Date二者区别:java.util.Date是在除了SQL语句的情况下面使用的java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分二者转换:java.sql.Date转为java.util.Datejava.sql.Date date=new java.sql.Date(); java.util.Date d=new java.util.Date (date.原创 2021-07-02 10:45:12 · 200 阅读 · 0 评论 -
MySQL自增id用完怎么办
1、MySQL表定义的自增值AUTO_INCREMENT表定义的自增值达到上限后的逻辑是:再申请下一个 id 时,得到的值保持不变。Eg; AUTO_INCREMENT=4294967295; 第一个 insert 语句插入数据成功后,这个表的 AUTO_INCREMENT 没有改变(还是 4294967295),就导致了第二个 insert 语句又拿到相同的自增 id 值,再试图执行插入语句,报主键冲突错误。2、InnoDB 系统自增 row_id如果你创建的 InnoDB 表没有指定主键,那么原创 2021-03-25 17:36:28 · 360 阅读 · 0 评论