mysql
-
简聊 limit 0,100 和 limit 10000000,100一样吗
MySQL 的LIMIT m n工作原理是先读取前 m+n 条记录,再抛弃前 m 条,然后返回后面的 n 条数据。因此,当 m 值增大时,偏移量也增大,性能表现就会变差。
-
解决 MySQL 查询过多导致性能下降的三种策略
过多的IN查询或查询条件中的元素过多,确实可能导致MySQL数据库性能下降。本文将探讨三种有效的解决方案,以帮助优化这类问题。
-
浅聊count(1)、count(*) 与 count(列名) 的区别,你会了吗?
建议使用 COUNT(*)!因为这个是 SQL92 定义的标准统计行数的语法,而且本文只是基于 MySQL 做了分析,关于 Oracle 中的这个问题,也是众说纷纭的呢。
-
腾讯面试:如何实现10亿数据判重?
使用 MySQL 数据库判重,或使用 List.contains() 或 Set.contains() 判重就不可行,因为 MySQL 在数据量大时查询就会非常慢,而数据库又是及其珍贵的全局数据库资源。
-
得物面试:创建索引时会不会锁表?
在 MySQL 5.6 之前,创建索引时会锁表,但在 MySQL 5.6.7 之后,因为新增了 Online DDL 技术,所以此时在添加索引时,是可以和 DML 数据操作语言 INSERT、UPDATE、DELETE、SELECT 等命令一起执行的。
-
主备切换大揭秘:保证系统永不停机的秘密
通过这篇文章,我们详细介绍了分布式分区容错性中的主备切换机制,重点讲解了MySQL和Redis中的主从复制原理和实现方法。希望这些内容对大家有所帮助,让我们在实际开发中能够更好地应对高可用性和容错性挑战。
-
MySQL的 where 1=1 会影响性能吗?
在日常业务开发中,where 1=1和<where> 标签到底会不会影响性能,本文将从官方文档来进行说明。
-
聊聊 Order By 是怎么实现的?
实际上,row_id 是 MySQL 的一种优化算法,它首先考虑使用全字段排序。只有在认为字段长度过长可能影响效率时,才会采用 row_id 排序方式。此外,如果能够利用 sort_buffer 完成排序,MySQL 就不会使用临时文件。
-
MySQL中的三种关键日志:Binlog、Undo Log和Redo Log
MySQL中的binlog、undo log和redo log各自承担着不同的职责,共同确保数据库的稳定性和可靠性。binlog提供了数据复制和恢复的能力;undo log保障了事务的回滚和并发控制的实现;而redo log则增强了数据的持久性和系统的性能。
-
MySQL 核心模块揭秘 | 锁在内存里长什么样?
InnoDB 的表锁结构和行锁结构,有一部分属性是相同的,也有一部分属性是专用的,所以,代码里定义了三个结构体来描述表锁结构和行锁结构。
-
深度解析Percona Toolkit工具集
Percona Toolkit是一套专业的MySQL和MariaDB数据库管理工具,涵盖了从性能优化到数据同步和备份恢复的多个方面。
-
全面透彻,MySQL 正确的慢查询处理姿势
全文总结一下,其实就是我们要学会用数据库的要求方式来执行SQL。即要写好应用查询SQL,必须要结合良好的数据结构和合理的索引设计才可以。
-
MySQL 与 Redis 缓存一致性的实现与挑战
在许多应用中,常常将 Redis 用作缓存层,以加速对数据的访问。然而,在使用 MySQL 和 Redis 组合时,保持缓存与数据库之间的一致性是一个不得不考虑的问题。
-
为什么 MySQL 需要 binlog、undo log、redo log 三种日志?
工作或者面试中,经常会遇到 MySQL 数据库 binlog、undo log、redo log 相关的知识点,今天我们就来一起深入分析这三种 log。
-
什么是最左前缀匹配?为什么要遵守?
在了解了索引跳跃扫描的执行过程后,一些聪明的读者可能会意识到,这种查询优化更适用于具有较少取值范围和低区分度的字段(比如性别),而当字段的区分度特别高时(比如出生年月日),这种查询可能会变得更慢。