自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 MySQL alter table...,是否有更明智的方式?

在上篇文章MySQL的字段扩容中,我们提到了一些情况下MySQL可能会重建表,所以为了避免不可预知的情况出现,我们建议每次修改时指定算法。那你肯定会产生疑问:”最近的版本不是加字段默认instant吗,只修改元数据,不会重建表,在秒级就可以完成啊“。比如我们继续加63个instant字段(刚才已经加了一个字段。包括其他字段修改,如果期待可预期的结果出现,最好加上。算法这把平衡木让你从容走天桥。”一张表最多有64个instant列“。字段了,去掉后可以增加成功。然后再执行下面的脚本。因此,我们无法再增加。

2024-03-27 08:54:32 103

原创 字段长度扩容大冒险:MySQL的Inplace与Copy之辩

算法,也就是创建临时表,把数据copy过去,最后交换名字,删除旧表。如果要修改的表是张大表的话,肯定要花费很久的时间,虽然MDL加锁时间很短,并不会影响该表正常读写,但是如果涉及主从架构的话,产生主从延迟是不可避免的了。毕竟在这个数据决定一切的时代,一个小小的字段变更,都可能引发连锁反应,影响无垠。这时候,糟糕的开发同学又急匆匆地跑来了,说刚才字段长度说错了,其实计划修改为。,他们坚持现行的做法,就地修改字段长度,免去了数据挪移的麻烦。这条修行之路虽然漫长,但对于数据库从业者来说,一定是充满乐趣和挑战的。

2024-03-22 17:08:49 597 1

原创 数据库设计 - 分槽计数器模式

传统的计数方法,如直接在数据库中更新一个计数器,虽然简单直接,但在面对成千上万的并发请求时,却容易成为性能瓶颈。这样做可以有效地分散数据库的写入操作,减少对单一数据行的频繁访问,从而提高数据库的性能和并发处理能力。在实际应用分槽计数器模式时,我们需要根据具体业务的特点和数据量来调整槽位的数量和分布,以达到最佳的性能平衡。此外,对于数据的最终汇总和分析,也需要考虑合适的策略来确保效率和准确性。它不仅优化了数据库的性能,减少了锁争用和死锁的风险,还提供了一种灵活且高效的方式来处理大量数据的实时更新。

2024-03-21 17:45:25 125 1

原创 MySQL JSON 和text等大字段类型不可以有默认值吗?

📢 当然有个前提条件就是确保你的MySQL 版本在。等类型设置非空的默认值时会产生下面的错误,难道是。但是我们如果一定要添加默认值怎么办?中无法给这些类型的字段设置。我们可以用表达式的形式设置。中当我们设计表的时候,给。引入另一个话题,下面这个。

2024-03-21 17:41:39 292 1

原创 MySQL内幕:XA长事务是如何垄断IX锁的?

通过以上分析和解决步骤,我们可以更深入地理解MySQL内部XA事务的执行机制,并掌握锁分析和解锁的方法,确保系统的稳定高效运行。预防此类问题的根本在于避免XA事务在准备阶段后遗留,可通过设置适当的xa_commit_timeout参数或定期检查并处理,保证事务要么提交要么回滚。服务由于某一原因突然宕掉,尽管后续你重启了数据库服务,但是该事务始终没有提交或者回滚,这才导致该事务对应的表一直被加了元数据锁。果不其然,你发现有个active的事务一直处于prepared阶段,其对应的。节点也存在同样的情况;

2024-03-09 16:08:36 336

原创 在MySQL表中查询重复记录

有时候由于业务原因或者其他原因,我们的表中产生了部分重复记录,我们需要只保留一条数据,删除重复的部分。那么如果我们不使用窗口函数该怎么实现这个需求呢?今天我们就一起来看看。🎃 首先,我们创建如下的表。的记录,即为重复记录。

2024-03-09 09:37:20 368

原创 MySQL没有主键情况下少量重复记录删除

MySQL没有主键情况下少量重复记录删除琪小新2021/08/05proceduredrop procedure if exists p_delete_repeat_records;delimiter //create procedure p_delete_repeat_records(p_table_name varchar(120), p_group_field varchar(120), p_date_f

2021-08-05 09:27:38 383

原创 MySQL之Merge引擎

MySQL之Merge引擎MySQL可以通过Merge引擎将相同的MyISAM表逻辑组织起来MyISAM引擎表创建表 in_num_m1 和 in_num_m2,并向其中插入示例数据CREATE TABLE `in_num_m1`( `num_id` int(11) NOT NULL DEFAULT '0', `num_val` int(11) DEFAULT NULL) ENGINE = MyISAM;CREATE TABLE `in_num_m

2021-03-18 13:35:56 307

原创 MySQL之last_insert_id()

MySQL之last_insert_id()在向数据库具有自增列的表中插入一行之后,会生成一个AUTO_INCREMENT值,可以通过SELECT LAST_INSERT_ID()得到这个值,返回BIGINT UNSIGNED (64-bit) 类型,注意是生成(generate)AUTO_INCREMENT值,如果是插入时自增字段的值是插入的而不是生成的,则不会。模拟过程现创建如下两张表create table in_num( num_id int primary key auto_

2021-03-15 13:37:22 4392 1

原创 Oracle创建用户流程

Oracle创建用户流程随便写一点小东西Oracle不同于MySQL创建数据库(create database XXX),可以理解Oracle里一个用户即是一个数据库(schema)表空间创建一般创建大文件表空间create bigfile tablespace tbsp_dpc_flowable datafile 'C:\APP\ADMINISTRATOR\ADMIN\TESTDB\DATAFILE\TBSP_PS3C.dbf' size 4G;临时表空间创建create temp

2020-11-23 16:59:36 158

原创 Python pyplot坐标轴标签自定义上下标

Python pyplot坐标轴标签自定义上下标有时候作图时需要坐标轴做一些标签,比如像下面的公式fh(x^)f_h(\hat x)fh​(x^)再比如设置坐标轴的刻度为101,102...10n10^1,10^2...10^n101,102...10ncodingimport matplotlib.pyplot as pltfrom pylab import *mpl.rcParams['font.sans-serif'] = ['SimHei']y = [pow(10,

2020-08-18 11:46:42 8838 4

原创 RedHat7.6下利用二进制文件安装mysql8.0.20

RedHat7.6下利用二进制文件安装mysql8.0.20一、下载二进制安装包二、从中解压出tar包并上传服务器三、安装开始解压文件安装libaio添加mysql组和用户创建目录更改为mysql所有权初始化MySQL(注意生成的临时密码)二进制文件和数据文件所有权重新调整启动脚本复制到init.d下导出环境变量启动服务登录修改密码如需新增配置文件,在/etc下新增my.cnf一、下载二进制安装包二进制压缩包下载链接: link.下载下图中的压缩包二、从中解压出tar包并上传服务器三、安装开始

2020-06-05 09:03:24 422

数据结构哈夫曼树课程设计

数据结构哈夫曼树课程设计,完整课程设计,并附有全部代码。

2018-04-15

oracle 11g 安装详细教程

非常详细的oracle11g安装教程以及安装过程中遇到的问题。

2018-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除