
mysql
文章平均质量分 68
言之。
点一盏洁白的灯, 照一照漆黑的眠。
展开
-
SQL优化方式
程序员在实际开发中常用的八种 SQL 优化方式,包括避免 select *、小表驱动大表、用连接查询代替子查询、为 group by 字段设置索引、批量插入、使用 limit 及优化大翻页场景、能用 union all 就不用 union、join 的表不宜过多,并强调 SQL 调优多在索引调优基础上进行,还提到了 MySQL 高级优化需掌握的知识。原创 2025-02-09 20:58:51 · 11145 阅读 · 0 评论 -
优化 MySQL 的慢查询
【代码】优化 MySQL 的慢查询。原创 2025-01-11 20:22:39 · 10674 阅读 · 0 评论 -
【MySQL】分库分表
一个库的数据拆分到多个库,解决单库大数据量和高并发性能瓶颈,提高系统稳定性和可用性,查询时按路由规则(如id取模或范围路由)找对应库表,路由规则需解决多库连接和集群情况下的查询问题。:以字段为依据拆分表,将不常用字段、大文本或二进制大段字段(如商品描述)拆分到附件表,实现冷热数据分离,减少io过度消耗,如查询商品列表时只查基本信息表,提升性能。:表数据拆分到多表,可在同一库或不同库,优化单表数据量过大性能问题,避免io增强,减少锁表几率,操作数据时按取模等方式确定对应表。原创 2024-12-28 10:06:06 · 10480 阅读 · 0 评论 -
【MySQL】事务
并发事务问题及解决思路问题引出:面试官常问并发事务带来的问题、解决方法及MySQL默认隔离级别,这些问题相互关联。核心概念:并发事务问题主要包括脏读、不可重复读和幻读,解决问题的关键在于MySQL的隔离级别。关键知识点:理解并发事务问题与隔离级别之间的联系,为后续解答做准备。并发事务问题详解脏读定义:一个事务读到另一个未提交事务修改的数据。举例:事务A查询并修改id为1的数据但未提交,事务B此时查询到A修改后的最新数据,此为脏读。不可重复读定义:一个事务先后两次读取同一条记录结果不同。原创 2024-12-27 21:12:15 · 10651 阅读 · 0 评论 -
【MySQL】SQL 优化经验
读操作走从库,实现读写隔离,提高查询效率。写操作找主库,主库同步数据给从库;原创 2024-12-27 13:46:36 · 10513 阅读 · 0 评论 -
【MySQL】索引失效情况
违反最左前缀法则(使用复合或联合索引时跳过某列查询)可能导致索引失效。范围查询右边的列不能使用索引。在索引列上进行运算操作会使索引失效。字符串不加单引号(因类型转换)可能造成索引失效。模糊查询中百分号在前边会导致索引失效。原创 2024-12-27 13:36:12 · 10456 阅读 · 0 评论 -
【MySQL】索引创建原则
**索引创建原则** - **数据量与查询频率**:单表数据量超过10万且查询频繁的表适合创建索引,目的是提升查询速度,增加用户体验。 - **常用字段**:经常作为查询条件、排序、分组的字段适合创建索引,这些字段在实际查询操作中对数据的筛选、排序和分组起到关键作用。 - **区分度高的列**:尽量选择区分度高的列作为索引,例如身份证号等唯一标识性强的字段,区分度越高索引效率越高;像存储城市的字段区分度低(都在北京),使用索引效率不高。 - **长字符串字段**:对于字符串原创 2024-12-27 13:22:28 · 10516 阅读 · 0 评论 -
【MySQL】覆盖索引与大分页
根据查询条件所走的索引类型(聚集索引或二级索引),判断返回列是否都在该索引中。根据name查询走二级索引,若返回列只有id和name则是覆盖索引,若包含未在该二级索引中的列(如gender)则不是覆盖索引。对于普通索引,若返回列包含在该索引及主键值中,也算覆盖索引,否则可能需要回表查询。:一次性查询出所有数据,相比回表查询性能更高,所以在开发中应尽量避免使用“select *”,防止因返回列未创建索引而触发回表查询。:查询使用了索引,且返回的列在该索引中能全部找到。原创 2024-12-27 13:14:34 · 10411 阅读 · 0 评论 -
【MySQL】聚集索引、二级索引
以上示例代码通过伪代码形式展示了索引结构及回表查询过程,帮助理解在数据库中索引的实际存储和查询操作原理。在实际数据库系统中,索引的实现更为复杂,但基本原理类似。原创 2024-12-26 23:45:42 · 10424 阅读 · 0 评论 -
【MySQL】索引 面试题
在MySQL中,合适地创建索引可以显著提高查询性能,但索引也并非越多越好,不当的索引可能会影响数据插入、更新和删除的效率。:当查询条件中索引列的数据类型与实际传入的值的数据类型不匹配时,数据库可能会进行隐式类型转换,这可能导致索引失效。:如果在查询条件中对索引列使用不等于操作符,数据库可能认为使用索引的成本较高,而选择全表扫描,导致索引失效。连接多个条件,并且其中既有索引列的条件又有非索引列的条件,那么索引可能失效。列有索引,数据库也可能无法有效利用该索引,导致查询效率降低。函数,会使该列的索引失效。原创 2024-12-26 23:25:44 · 11071 阅读 · 0 评论 -
【MySQL】 SQL优化讲解
通过MySQL分析工具explain,掌握keykey_len字段可判断SQL是否命中索引及索引是否失效,若有问题可通过添加索引或检查SQL编写修复。type字段可检查SQL是否有优化空间,如是否存在全索引扫描或全盘扫描情况。extra可判断是否回表,若存在可通过添加索引或修改返回值优化。原创 2024-12-26 23:02:36 · 10726 阅读 · 0 评论 -
【MySQL】在MySQL中如何定位慢查询?
在MySQL中如何定位慢查询?原创 2024-12-26 22:50:53 · 10864 阅读 · 0 评论 -
mysql主键自动增长2 - 奇数增长
查看配置show variables like '%increment%';如果:auto_increment_increment=2执行set @@global.auto_increment_increment = 1; set @@auto_increment_increment =1;如果auto_increment_offset=2执行:set @@global.auto_increment_offset =1;set @@auto_increment_offset =1.原创 2021-05-07 13:15:02 · 13278 阅读 · 0 评论