个人随笔
网站介绍
火龙的爷爷
2116759078
2116759078@qq.com
一个程序员的学习笔记
网站统计
访问 1040385
网站标签
当前位置:
首页
MySQL
MySQL查询所有子级或者父级的方法:冗余法和递归法
假设我们有一个机构表(inst_info),字段为ID(id),机构号(inst_code),机构名字(inst_name),父级机构号(parent_inst_code).现在可能面临两种需求,第一种,给定一个机构号,查询所有子级机构,包括子级的子级。怎么做呢!方案1、字段冗余法我们可以在这个表多加几个字段,把每一个机构的所有父级机构都冗余,比如机构是省市县网点,那么表加上六个字段县级机构...
MySQL
2024-06-28 17:05:48
两表更新(用一个表更新另一个表)的SQL语句
方法1:update people s set city_name = (select name from city where code = s.city_code);1,代码对应的城市更新,对应错误的更正;2,city表中没有的城市,在people表里全被更新为null。方法2:update people s, city c set s.city_name = c.name where ...
MySQL
2023-06-25 17:36:16
MyISAM引擎和InnoDB引擎的区别
MyISAM 引擎中,B+Tree 叶节点的 data 域存放的是数据记录的地址。在索引检索的时候,首先按照 B+Tree 搜索算法搜索索引,如果指定的 Key 存在,则取出其 data 域的值,然后以 data 域的值为地址读取相应的数据记录。这被称为“非聚簇索引(非聚集索引)”。InnoDB 引擎中,其数据文件本身就是索引文件。相比 MyISAM,索引文件和数据文件是分离的,其表数据文件...
MySQL
2023-05-29 21:06:22
MySQL 怎么保证原子性的?
我们知道如果想要保证事务的原子性,就需要在异常发生时,对已经执行的操作进行回滚,在MySQL中,恢复机制是通过回滚日志(undo log)实现的,所有事务进行的修改都会先记录到这个回滚日志中,然后再执行相关的操作。如果执行过程中遇到异常的话,我们直接利用回滚日志中的信息将数据回滚到修改之前的样子即可!并且回滚日志会先于数据持久化到磁盘上。这样就保证了即使遇到数据库突然宕机等情况,当用户再次启...
MySQL
2023-05-24 21:05:36
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation...
MySQL进行连表查询时得错误今天在做一些多表查询时,MySQL报错:[Err] 1267 - Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='问题分析:表之间的编码不一致,或者是比较的字段之间的编码不一致。解决方法:查看表之间的编码是否一...
MySQL
2022-07-19 11:09:58
MySQL单表数据量变大了,速度变慢怎么办
我们知道,随着架构的复杂,所付出的架构设计的代价就越来越大,所以如果MYSQL单表数据量太大了,可以按如下升级方案进行。1、做缓存可以做一层redis缓存来提高查询效率,有些大公司,因为内存的价格可以接受,把所有数据都进行了缓存。2、备份历史数据正常MYSQL有一千万条数据都是可以接受的,如果有几千万条了,那么就太多了,可以把历史数据备份删除到另一个表中,比如前端查询可以按时间范围查询,如果...
MySQL
2022-07-07 08:50:22
SQL查询:存在一个表而不在另一个表中的数据
A、B两表,找出存在A表,但是不存在B表的数据。A的字段A.a_id,B的字段B.b_id。除了大写的A和B外,其他的大写字母方法一使用 not in ,容易理解,效率低SELECT * FROM A WHERE A.a_id NOT IN (SELECT b_id FROM B)方法二使用 left join…on… , “B.b_id IS NULL” 表示左连接之后在B.b_id 字段...
MySQL
2021-11-02 21:16:09
Explain详解与索引最佳实践
一、Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返 回执行计划的信息,而不是执行这条SQL 注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中1、explain 两个变种1)explain extend...
MySQL
2021-06-01 20:28:32
MySQL事务并发带来的问题以及其解决方案分析
一、MySQL事务(Transaction)及其ACID属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。1、原子性(Atomicity)事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。2、一致性(Consistent)在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须应用于事务的修改,以保持数据...
MySQL
2021-05-25 23:00:37
唯一索引(unique index)和普通索引(index)(转)
如果在一个列上同时建唯一索引和普通索引的话,mysql会自动选择唯一索引。谷歌一下:唯一索引和普通索引使用的结构都是B-tree,执行时间复杂度都是O(log n)。补充下概念:1、普通索引ALTER TABLE userinfo ADD INDEX index_userinfo (openid); 普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应...
MySQL
2021-04-09 09:59:50
首页
<
1/4
32
>
尾页
有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔
备案号 : 粤ICP备18099399号-2