MySQL 拜托加个索引能和PG一样简单吗? 只能ghost了 烦人

2024年 5月 30日 21.4k 0

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(共2240人左右 1 + 2 + 3 + 4 +5) 新人奖直接分配到6群 5群430 停止自由申请

MySQL 拜托加个索引能和PG一样简单吗? 只能gh-ost了 烦人-1

MySQL MySQL  怎么那么烦人,好用,好用个屁。用过数据库吗说好用,加个索引都那么的费劲。说到这里我很想用宋丹丹老师那句,怎么那么烦人来结束此篇文章,在给MYSQL一个大白眼,和SQL SERVER  ORACLE 比不了,和 PG也比不了,人家仨都有在线索引的技术,虽然SQL SERVER 黑,必须买企业版,但人家有。MySQL 呵呵

MySQL 拜托加个索引能和PG一样简单吗? 只能gh-ost了 烦人-1

为了大表加索引的事情,可让MySQL的使用者们操心,gh-ost 是一种针对MySQL 在线加索引的一种可实现的方案,对比PT-OSC工具他最好的部分在于没有对于原表有相关的变化,通过二进制流的方式来捕获对于表的更改,异步的应用到虚拟表中,在将数据追齐的情况下,切换虚拟表和实体表之间的方案。

MySQL 拜托加个索引能和PG一样简单吗? 只能gh-ost了 烦人-3

同时从GA 上来看 GH-OST 软件本身已经踢出了 MYSQL5.5. 和 MYSQL5.6的支持,目前最新版本仅仅支持 MYSQL 5.7 和8.0 的MYSQL数据库。

MySQL 拜托加个索引能和PG一样简单吗? 只能gh-ost了 烦人-4

首选需要确认的是,gh-ost 对于在线添加索引是可以满足这个需求的,他主要的工作步骤也是监听BINLOG ,讲BINLOG 中与这个表作用的DML 进行重放,重放到新建的临时表中,临时表已经将索引建立好,在全量同步数据后,就将增量的数据也写入到临时表,当发现业务不繁忙的时候,将针对这个表进行切换,将临时表切换成正式表。

这里我们用一个事例来验证这个事情,以及会遇到的问题

CREATE TABLE `t_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age` tinyint(4) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

delimiter $$
DROP PROCEDURE IF EXISTS proc_batch_insert;
CREATE PROCEDURE proc_batch_insert()
BEGIN
DECLARE pre_name BIGINT;
DECLARE ageVal INT;
DECLARE i INT;
SET pre_name=187635267;
SET ageVal=100;
SET i=1;
WHILE i 

相关文章

pt-kill工具的使用
pt-ioprofile工具包的使用
数据库管理-第216期 Oracle的高可用-01(20240703)
DBMS_REPAIR EXAMPLE SCRIPT WITH PARTITION
数据库事务的四大特性: ACID 
使用BBED修复损坏的SYSTEM文件头

发布评论