![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
Vransy.
这个作者很懒,什么都没留下…
展开
-
记录千万级数据库去重问题
千万级数据 在一张表中 如果没有索引 怎么样去重? 常规方法 distinct 或者是 先查重复的 再join 掉 但是会很慢 解决方法 意思是创建一个表b 创建唯一索引 在倒过去 把表b改名A原创 2022-03-17 21:07:45 · 871 阅读 · 0 评论 -
SQL 去除表内重复数据留下字段值全的数据(单条数据优先保留多字段有值到多字段部分有值到多字段无值)的情况
SQL想法 先把没有地址电话和没有银行账户的数据插入到临时表 把有 DZDH(地址电话)和没有 YHZH(银行账户)的 KHSH(客户税号)和USER_SH(用户税号)提取出来在临时表中删掉临时表中的数据 取title 中最新的数据插入到临时表中 把没有 DZDH(地址电话)和有 YHZH(银行账户)的 KHSH(客户税号)和USER_SH(用户税号)提取出来在临时表中删掉临时表中的数据 取title 中最新的数据插入到临时表中 把有 DZDH(地址电话)和有 YHZH(银行账户)的 KHSH(客户税号原创 2021-10-14 09:10:54 · 189 阅读 · 0 评论 -
mysql 判断空和null
mysql 去掉代码 如果字段为空的情况 使用 TRIM(字段) <> "" # 该字段不为Null 为空! 字段为 null的情况使用 字段 is not null原创 2021-09-26 09:58:31 · 444 阅读 · 0 评论 -
[heidi报错]关于MySql工具Heidi添加主键报1064的错误解决方案
问题描述:想要在user_id中添加主键 但是一添加就报1064的错误 改名也报这个错 报错原因:由于是INT类型添加主键,默认长度集合中的值却是(10,0)的形式,导致无法确定你该字段赋值长度为多少,所以报了该错误 解决方法:把这个(10,0)改成 (10) 保存即可 ...原创 2020-11-27 11:32:46 · 710 阅读 · 0 评论 -
SQL优化-查询语句特征(5)EXPLAIN
EXPLANIN 用法 EXPLAIN SELECT * FROM DEPT JOIN EMP ON DEPT.DEPTNO = EMP.DEPTNO EXPLANIN 中的id属性指出 当前查询语句中相关表文件的加载顺序 情况1 如果被加载的表文件的ID属性内容是相同的 则根据自上而下的顺序执行 情况2 如果被加载的表文件ID属性内容是不相同的。则ID较大的表,就先被加载 ,ID小的表则后被加载 情况3 如果被加载的表文件 有相同 有不同的情况时 则ID大的表先被加载 ID相同则自上而下加载。原创 2020-11-11 10:39:14 · 137 阅读 · 0 评论 -
SQL优化-查询语句特征(4)聚簇索引/非聚簇索引
索引分类 1.聚簇索引 / 非聚簇索引 2.主键索引,唯一性索引 3.单个索引,复合索引 聚簇索引: 只能来自于采用INNODB存储引擎表的数据 Mysql自动将采用了INNODB存储引擎表中主键建立索引,这个索引就是聚簇索引 如果当前表中没有主键,MySql将会选择添加唯一性约束的字段作为聚簇索引 如果当前表中没有主键字段,也没有添加了唯一性约束字段 mysql将随机选取一个字段作为聚簇索引。 在采用innodb存储引擎的表文件中,必然会存在一个聚簇索引 在innodb存储引擎表文件中只能有一个聚簇索引原创 2020-11-02 16:38:00 · 414 阅读 · 0 评论 -
SQL优化-查询语句特征(3)索引
索引 索引存在于对应的索引文件中 索引的本质: 就是一组排好顺序的数据 作用 1.在索引数据中进行排序时,可避免再次排序 2.在索引数据中对数据行进行定位 时,避免全表扫描 索引文件的位置 1.如果当前表是依赖于innodb存储引擎,索引存在FRM中 2.如果当前表依赖于MYISAM存储引擎,索引存在MYI中 索引基本操作 1.查看表文件中已经存在的索引 SHOW INDEX FROM 表中索引 2.创建索引 CREATE INDEX 索引名 ON 表名(字段) 3.删除索引 drop index 索引名原创 2020-11-02 15:14:14 · 137 阅读 · 0 评论 -
SQL优化-查询语句特征(2)
查询语句特征 七个查询命令中,除了having 命令外。剩余六个查询命令执行完毕后都会生成全新的临时表 七个查询命令中 ,除了 from之外,剩下六个查询命令操作的临时表 都是上一个查询命令所生成的临时表 在当前查询命令执行完毕后,mysql会自动将上一个查询命令生成的临时表进行销毁处理,在一个查询语句执行完毕后,用户只能看到最后一个查询命令所生成的临时表 在进行多字段分组查询时从第二个分组字段开始,操作的临时表是上一个分组字段所生成的临时表 七个查询命令中,哪些命令查询效率过慢 最慢的是 grou原创 2020-11-02 13:54:14 · 148 阅读 · 0 评论 -
SQL优化-查询语句特征(1)
From 作用: 将硬盘上的表文件加载到内存中,生成一个全新的临时表 注意 : 1.在一个查询语句中,第一个执行的命令永远是from 2.from 定位的是内存中的一个临时表,这个临时表必须手动指定表名 where 作用: 1.where命令操作的油from命令生成的临时表 2. where命令循环遍历当前临时表中每一个数据行 将满足条件的数据行保存到一个全新的临时表 注意 由于where 命令每次只是操作一个数据行,因此 在 where使用过程中,是无法使用聚合函数作为判断条件 Gro原创 2020-10-30 09:38:43 · 200 阅读 · 0 评论 -
Mysql 中 本地计算机上的mysql 80 服务启动停止,某些服务在未由其他服务或者程序使用时将自动停止
mysql能启动 但是mysql80不能启动 初始化无效 修改登录无效 可以试试这个方法 把my.ini 改成 ANSI 重启80服务即可(原来是UTF-8)原创 2020-06-11 16:58:23 · 907 阅读 · 0 评论 -
MySql 中无法在my.ini打开通用日志开关 general_log=OFF
正常来说 在 my.ini下打开通用日志 是直接加入 general_log=1 在这里插入代码片 即可 但是问题是 改了以后 SHOW VARIABLES LIKE '%general%'; 依然是OFF 这个时候直接在mysql中 set global general_log=on; 直接在数据库中开启 general_log 即可 ...原创 2020-06-11 15:53:08 · 678 阅读 · 0 评论