随笔分类 - 数据库 / mysql / mysql技术
摘要:sql_mode 设置 - 零食性的 SELECT @@GLOBAL.sql_mode; ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CR
阅读全文
摘要:在mysql中进行的一些模,有时候不知此一些分组条件查询 需要进行设置 STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITU
阅读全文
摘要:这么多年没掉入桃色陷阱,靠的就是两个字,没钱。 什么是索引覆盖? 在执行某个查询语句,在一颗索引树上就能够获取sql所需要的所有列数据,无需回表。 判断条件: 当发起一个被索引覆盖的查询时,在explain的extra列会显示Using index 实现方式: 将查询的字段,建立到联合索引里面去。
阅读全文
摘要:爱一个女孩子,与其为了她的幸福而放弃她,不如留住她,为她的幸福而努力。如果要为了她的幸福而放弃她,不如不要让她知道你那些不够深的爱! 深度分页 select * from user order by id limit 6000000, 100 当offset 变得超大时,比如到了百万千万的量级,问题
阅读全文
摘要:MySQL中,double和decimal都是数值数据类型,但它们之间有一些重要的区别: 1、存储方式:double使用浮点数存储,而decimal使用定点数存储 2、精度和范围:double是一种浮点数,可以存储较大范围的数据,并且可以表示小数点后很多位的精度,但其精确度相对较低。而decimal
阅读全文
摘要:什么是表分区? 表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。 分区和分表的区别? 分表:指的是通过一定规则,将一张表分解成多张不同的表。比如将用户订单记录根据时间成多个表。 分表与分区的区别在于:分区从逻辑上来
阅读全文
摘要:我的眼里只有你,因为你的大脸,让我看不到别人。 mysql 优化统计: 创建索引 创建组合索引 索引并不会包含有null值的列 使用短索引 排序的索引问题 like语句操作,防止 "%这中查询" 禁止在列上进行运算 不要使用not in 和 <>操作符号
阅读全文
摘要:mysql 尽量使用Union All,而不建议使用Union,但也不是全部场景都这样: 在 MySQL 优化中,推荐尽量使用 UNION ALL 代替 UNION 的原因主要是两者在处理结果集和性能上的差异。 结果集处理: UNION:它会自动去除结果集中的重复行。这意味着 MySQL 需要执行额
阅读全文
摘要:聚簇索引: 叶子节点:存储的是整行数据。 非叶子节点:存储的是索引值(即主键值),这些值用于指导查询过程中的搜索方向。 非聚簇索引: 叶子节点:存储的是主键的值,而不是整行数据。这是因为非聚簇索引的目的是加速查询,而不是直接提供数据。当通过非聚簇索引找到主键值后,MySQL会进行所谓的“回表”操作,
阅读全文
摘要:花间一壶酒,独酌无相亲 优势: 性能优势: 连接(JOIN)操作通常在数据库查询优化器中被更好地优化,可以更有效地利用索引,减少全表扫描,从而提高查询性能。 子查询在某些情况下可能会导致性能下降,因为它们可能需要执行额外的查询操作,并可能产生临时表,增加了查询的复杂性和开销 可读性: 使用连接(JO
阅读全文
摘要:在MySQL中存储Emoji表情数据,你需要确保数据库和表的字符集(character set)和排序规则(collation)能够支持全字符集,包括Emoji。Emoji表情通常包含在Unicode的“表情符号”(Emoticons)和“修饰符”(Modifiers) 选择正确的字符集和排序规则
阅读全文
摘要:来如风雨,去似微尘。 在mysql 数据表中,经常看到有些字段被进行设计后,储存为 '' 和 NULL 值,下面就来比较一下他们的区别 1、含义 空字符串(''):字段包含一个长度为0的字符串。 NULL:字段的值是未知的或者不存在。NULL不是一个空字符串,也不是0,也不是任何其他值。它只是一个表
阅读全文
摘要:在mysql 中有个高级的语法,就是在判断数据如果存在,则进行更新操作,如何不存在,则进行插入操作 // 表 usersCREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), email VARCHAR(2
阅读全文
摘要:如果你觉得每天都忙成狗,那一定是你的错觉。狗一定没你忙。 mysql 去重的方法如下 1、distinct 关键词 SELECT DISTINCT `name` FROM `table`; 2、group by 关键 SELECT `name` FROM `category` GROUP BY `n
阅读全文
摘要:你所有的忧伤,都来自于你的余额。 MySQL中的IN和OR是两个常见的操作符,虽然它们都可以用于选择数据,但是它们的实现方式有很大的不同。 SELECT * FROM table WHERE column1 IN (val1, val2, val3); SELECT * FROM table WHE
阅读全文
摘要:生活不止眼前的苟且,还有一辈子的苟且。 储存过程 优点 SQL指令无需客户端编写,通过网络传送,可以节省网络开销,同时避免SQL指令在网络传输中被恶意篡改 存储过程经过编译创建并保存在数据库中,执行过程中无需重复操作 存储过程中多个SQL指令之间存在逻辑关系,支持流程控制语句 缺点 存储过程是根据不
阅读全文
摘要:昨天遇见小学同班同学,没想到他混的这么差,只往我碗里放了一块钱。 在进行分库分表的时候,有个分片键概念 :分片键是用于决定数据会被分布在哪个分片中的字段 分片算法:分片键决定了数据会被分布在哪个分片,原理就是根据分片键的值计算出数据所分布的分片 ID. 计算的过程就是分片键算法,即 f(shardK
阅读全文
摘要:其实只要不要脸,很多人生难题都能迎刃而解。 在MySQL中,子查询和连接都是用来进行多表查询的方式。 子查询,也称为内层查询,是指嵌入在另一个查询语句中的查询。它的执行方式是先执行内部的子查询,然后将其结果拿出来再执行外层的主查询。 连接,也称作外关联查询,是指在两个或多个表之间建立关联,通过连接查
阅读全文
摘要:回首青春,我发现自己失去了很多宝贵的东西。但我并不难过,因为我知道,以后会失去的更多。 定义 如果索引的列在 select 所需获得的列中(因为在 mysql 中索引是根据索引列的值进行排序的,所以索引节点中存在该列中的部分值)或者根据一次索引查询就能获得记录就不需要回表,如果 select 所需获
阅读全文
摘要:有些人是好看的,有些人是难看的,而你是好难看的。 相同点 datetime和timestamp都可以表示 YYYY-MM-DD HH:MM:SS 这种年月日时分秒格式的数据。 注意(并且从MySQL5.6.4之后这两者都可以包含秒后的小数部分,精度最高为微妙(6位),这里有一个点需要注意,就是在My
阅读全文