首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL 8.0 如何创建一张规范的

这一节内容,基于 MySQL8.0 版本,聊一下如何创建一张规范的。...防止因为大小写问题找不到或者弄错。 2 int 类型不再加上最大显示宽度,也就是不适用类似int(11) 的形式。 具体原因可复习:MySQL 5.7 和 8.0 几处细节上的差异。...6 核心业务增加记录标记字段。 如上表的 status 字段,写入记录时,默认记录为 1,表示记录有效,如果记录用不到,则把 status 更新成 0,避免物理删除,增加数据安全性。...如果实在有某个字段过长需要使用 TEXT、BLOB 类型,则建议独立出来一张,用主键来对应,避免影响原的查询效率。 10 经常做为条件、排序、关联的字段增加索引。...大概想到的就是这些,当然,创建一张规范的,还需要结合线上的环境,比如是否有分库分、是否会经常归档历史数据等

3.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL如何删除#sql开头的临时

例如,在对一张(大)添加索引时中途中断、磁盘不足导致异常或正在添加索引时实例被kill等等情况所致。.../* 直接删除名前加#mysql50 */ root@testdb 01:42:57> DROP TABLE `#mysql50##sql-ib87-856498050`; 注:#mysql50#...前缀是MySQL 5.1引入的文件名安全编码。...3.2 创建新方式删除 因为本例没有存在.frm 和.ibd名称相同的文件的情况,因此采用创建一张与ibd空间对应的结构(字段名及索引)一致的,然后将frm文件拷贝为和ibd一致的文件,再进行删除...注:删除这种100G的不建议直接删除,而是通过创建硬链接的方式处理。 3.3 修改frm文件名与ibd文件名一致 上一步删除ibd文件时,其中一个frm也自动删除了。

5.6K20

删除MySQL的重复数据?

前言一般我们将数据存储在MySQL数据库,它允许我们存储重复的数据。但是往往重复的数据是作废的、没有用的数据,那么通常我们会使用数据库的唯一索引 unique 键作为限制。...那么如何在一个普通的数据库删除重复的数据呢?那我用一个例子演示一下如何操作。。。...和 不等于 2.同时删除空的业务主键数据那么便有以下几个查询:/*1、查询中有重复数据的主键*/select rd2.iccId from flow_card_renewal_comparing rd2...flow_card_renewal_comparing rd2 GROUP by rd2.iccId having count(rd2.iccId)>1 )or iccId is null注意一点是mysql...做删除的时候会提示不能用查询的结果来做删除操作,这个时候就需要将查询的数据作为一个临时,起别名进行删除啦。

7.2K10

InnodbMySQL如何快速删除2T的大

共享空间:某一个数据库的所有的数据,索引文件全部放在一个文件,默认这个共享空间的文件路径在data目录下。 默认的文件名为:ibdata1(此文件,可以扩展成多个)。...ps:my.cnf的datadir就是用来设置数据存储目录 好了,上面巴拉巴拉了一大堆,我只想说一个事情: 在绝大部分情况下,运维一定会为mysql选择独立空间的存储方式,因为采用独立空间的方式,...在数据库mytest,有一个,名为erp,执行下列命令 mysql> system ls -l /data/mysql/mytest/  得到下面的输出(我过滤了一下) -rw-r----- 1...现在就是erp.ibd文件太大,所以删除卡住了。 如何解决这个问题呢? 这里需要利用了linux硬链接的知识,来进行快速删除。...那么,这时的删除,已经把table从mysql删除。但是磁盘空间,还没释放,因为还剩一个文件erp.ibd.hdlk。 如何正确的删除erp.ibd.hdlk呢?

2.8K20

清空删除mysql

Mysql清空(truncate)与删除数据(delete)的区别 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活。...遂考虑直接进入mysql直接清空或者删除数据。 本文记录一下这2种操作模式的区别,目标对象是wp_comments,里面的所有留言均是垃圾留言,均可删除。...然后便有了以下2种方式(进入mysql操作界面后): truncate table wp_comments; delete * from wp_comments; 其中truncate操作的table...这两者都是将wp_comments数据清空,不过也是有区别的,如下: truncate是整体删除(速度较快), delete是逐条删除(速度较慢)。...而delete删除以后,Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。 如果只需删除的部分记录,只能使用DELETE语句配合where条件。

8.1K20

mysql常用功能之删除一张重复数据&aba存在b不存在的 数据

在开发,我们有可能会遇到这种情况: 1:删除一张重复数据 2:AB两张通过主键关联,删除A存在而B不存在的数据。如下图: ? 这样的怎么解决? 今天遇到一个问题。...相同的数据在同一张表里出现了多次。我的需求是删除多余的数据,但要保留其中一条。 定义 表明 table_a ,判断唯一的两个字段 c_1,c_2,无关字段data 中原始数据如下 ?...我的思路是:再查询一个id 字段 ,我们group by 的时候 id 字段只能查询到重复数据的一条。然后我们把这些id的数据删除,就达到了去重的效果。...可以看到有两行被删除了。这时再看看数据,数据已经变成了: ? 成功将重复的数据删除。 如果重复数据是三条或者更多怎么办呢?很简单,再多执行几次这个SQL 就好了。...2 内容3 7 3 内容1 8 3 内容2 9 3 内容3 现在A删除了某条记录 如何能将B删除A没有的记录.

4K40

如何快速删除InnoDB的大

删除一个有独立空间的大时,需要对buffer pool中所有和这个空间有关的数据页做清理工作,包括从AHI,flush list和LRU list上移除,而在这个清理过程,会一直持有buffer...IO问题 尽管已经有了上述的buffer pool层面的优化,我们在使用MySQL 5.6或者5.7时依然发现删除对系统性能还是会产生显著的影响,说明DROP TABLE还有其他的性能瓶颈,尤其是对于这样一种业务场景...:并发地删除多个大。...dict_sys->mutex dict_sys->mutex是用来保护内存的数据字典,以及mysql库下的数据字典,从源码可以看到,在unlink ibd文件之前,所有的数据字典操作已经结束,其实是可以释放掉...过程调整为: 获取dict_sys->mutex这个数据字典锁 启动一个innodb事务 更新数据字典,包括内存的数据和mysql库下的数据字典 lazy drop逻辑,清理buffer pool的

8.7K32

MySQL 删除数据

MySQL 删除数据MySQL删除数据是非常容易操作的,但是你在进行删除操作时要非常小心,因为执行删除命令后所有数据都会消失。...语法以下为删除MySQL数据的通用语法:DROP TABLE table_name ;----在命令提示窗口中删除数据mysql>命令提示窗口中删除数据SQL语句为DROP TABLE:实例以下实例删除了数据...DROP TABLE kxdang_tbl;Query OK, 0 rows affected (0.8 sec)mysql>----使用PHP脚本删除数据PHP使用 mysqli_query 函数来删除...MySQL 数据。...可以是下列值的任意一个: * MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) * MYSQLI_STORE_RESULT(默认)实例以下实例使用了PHP脚本删除数据 kxdang_tbl

4.3K30

python 多线程删除MySQL

一、需求分析 在《python 统计MySQL信息》这篇博客,链接如下: https://www.cnblogs.com/xiao987334176/p/9901692.html 已经统计出来了一个...领导需要将不使用的,全部删除掉。但是有一个前提:删除之前,一定要做备份。 二、MySQL备份问题 怎么备份呢?有2个方案 1. 使用mysqldump 备份单个,也就是要删除 2....使用xtraBackup备份mysql 那么这2个方案,该如何选择呢?如果你不知道怎么选的时候,可以先用排除法!...但是我们要知道,备份千万级别的,非常耗时。 它需要一行行读取,并写入到备份文件。这还只是单的情况下,几千张,就无法想象了!...最后筛选出为否的记录,删除多余的列,只复制库名和名到一个delete.txt文件。 注意:删掉中文标题,效果如下: ?

6.7K50

Mysql删除数据,文件大小不变

首先明确一个概念,innodb包含两部分,结构定义和数据,Mysql8.0以前结构定义存放在.frm为后缀的文件里,而Mysql8.0版本以后允许结构定义放到系统数据,因为结构定义占用的空间很小...,因此我今天主要说是数据, 日常开发,当我们删除一个的的数据的时候,发现空间大小并不会变小,我们要知道为什么会发生这样神奇的事, 参数innodb_file_per_table 数据可以存在共享空间里...总之,经过大量的增删改的都可能存在空洞,所以,如果能把这些空洞去掉,就能达到收缩空间的目的,而重建,就可以达到这样的目的 重建 试想一下,如果我们需要去掉这些空洞,如何做呢,当然你可以建立一个和...我们可以使用下面命令重建,在mysql5.5版本之前,这个命令的执行流程跟我们前面描述的差不多,区别就是这个临时B不需要手动创建,MySql会自动完成转存数据,就换表明,删除旧表的操作 ?...,对业务来说,可以容忍,当然对于大的重建,这个操作是很消耗IO和CPU资源的,生产环境要谨慎执行, Online 和inplace 我们看到第一张状态的图是把A的数据导出来放到temp_table

5K10

MySQL数据库()的导入导出(备份和还原) mysql 根据一张数据更新另一张

mysql 根据一张数据更新另一张 sql示例 update a  ,b  set  a.name = b.name  where  a.id = b.id 一)在同一个数据库服务器上面进行数据间的数据导入导出...这时就要使用到数据库()的导出,导入。即将远程的数据库()导出到本地文件,然后再将该数据库()导入(还原)到本地数据库。...mydb.bak到本地数据库mydbmysql -uroot -p123456 mydb < /root/data/mydb.bak; 或者进入mysql,使用sourc指令完成数据库导入,...是远程数据库mydb导出文件的本地存放位置 (2)导入数据 在本地数据库创建相对应导出的数据库mydb同名的数据库: mysql> create database mydb; 然后在mysql...数据导入到数据mysql -uroot -p123456 --default-character-set=utf8 use guanjia; load data infile '/tmp

12K10
领券