摘要: 我们在设计数据库的过程中,往往要用到范式或反范式的设计模式。熟悉地掌握范式与反范式的要领,学会在实际开发中恰当地混合使用范式与反范式,才能设计出结构合理,执行高效的数据库。 结合这两张表,我们知道,职工Tom与Hill都在部门Accounting工作,他们的领导是Alex。这种设计模式,称为范式。范 阅读全文
posted @ 2019-06-21 17:15 lucky_8866 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 需求: 线上binlog格式是mixed格式,公司需要配置cancal,要求 binlog为row格式,需要将一台从库的binlog格式修改为row格式,set global binlog_format=ROW; 但是数据库已经修改完毕,但是查看binlog日志,还是mixed格式。 于是将从库线程 阅读全文
posted @ 2019-06-18 14:31 lucky_8866 阅读(2804) 评论(0) 推荐(0) 编辑
摘要: 场景:大数据所用的MySQL数据库中,部分表是myisam引擎的,部分表是innodb引擎的。并且表空间是共享表空间。 大数据部门想将所有的myisam引擎的表,转换为innodb引擎的表,并大共享表空间转换为独立表空间。 迁移方案:1、新搭建一个实例。 2、把主库的表结构备份导入到新建的实例中。 阅读全文
posted @ 2019-04-09 15:30 lucky_8866 阅读(387) 评论(1) 推荐(0) 编辑
摘要: key_len表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在组合索引的时候,判断该索引有多少部分被使用到非常重要。在计算key_len时,下面是一些需要考虑的点: 索引字段的附加信息:可以分为变长和定长数据类型讨论,当索引字段为定长数据类型时,如char,int,datetime, 阅读全文
posted @ 2019-03-27 12:01 lucky_8866 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 前几日,遇到的问题,表数据量不是很大,研发人员,修改表结构,导致数据库出现大量元数据锁等待,由于是5.5版本的数据库,对表进行alter操作是要锁表的。 解决: show processlist;查看数据库出现大量元数据锁等待。 select * from information_schema.in 阅读全文
posted @ 2019-03-15 17:09 lucky_8866 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 单机多实例:用不同的端口启动,共用一套数据库软件,好比房间,房子就是好比软件,每个房间就是不同的端口。 搭建步骤: 由于之前系统已经装有mysql实例,端口为3306,想在数据库在启动一个实例端口为3307的 3306的软件安装目录:--basedir=/data/mysql5633/mysql 数 阅读全文
posted @ 2019-03-07 15:27 lucky_8866 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 线上某些日志表过大,并且占用很多磁盘空间,需要将这些旧版本的日志文件,删除掉,直接drop table存在风险,需要将表ibd建立硬链接,去数据库drop table之后,在系统在rm -rf硬链接的文件即可。 但是由于业务比较老,时间比较长,之前的表不是独立表空间模式,此时就不能用创建硬链接的方式 阅读全文
posted @ 2019-03-05 19:39 lucky_8866 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1、为啥要进行并发控制? 并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制 2、技术上,通常如何进行并发控制? 通过并发控制保证数据一致性的常见手段有: (1)锁:操作数据前,锁住,实施互斥,不允许其他的并发任务操作; 操作完成后,释放锁,不让其他任务执行; 锁 阅读全文
posted @ 2019-02-26 10:51 lucky_8866 阅读(310) 评论(0) 推荐(0) 编辑