SQL
已收录文章:375篇
-
订单导入或重试后出现重复记录时,不要直接 DELETE。本文用 MySQL 8.0 的 ROW_NUMBER() 按业务键分组、按时间保留最新行,先用 SELECT 检查待删数据,再用临时表和主键完成可回滚的清理。471 收藏
-
GoLand 的查询结果可以直接通过数据提取器导出 CSV,但真正容易出错的是选错结果集、漏掉列头、中文编码异常和导出行数不完整。本文用一个订单查询场景,走完 GoLand 2026.1 的导出路径,并给出文件、列数、行数和中文内容的验收办法。218 收藏
-
Golang · Go问答 | 2天前 | 错误处理 · go · SQL · database/sql · 线上排查 · SCAN 查询结果 database/sql Go问答 rows.Next Rows.ErrGo 读取数据库结果时,rows.Next 返回 false 只能说明当前结果集没有下一行,不能直接当成查询成功。需要在循环后检查 rows.Err,并分别处理 QueryContext、Scan、Close 的错误,才能区分正常查完、数据库中断和结果读取失败。292 收藏
-
数据库 · MySQL | 1星期前 | MySQL · 数据库 · SQL · ON DUPLICATE KEY UPDATE · VALUES · 行别名 · MySQL VALUES() 弃用 ON DUPLICATE KEY UPDATE MySQL 行别名 INSERT AS new MySQL upsert INSERT SELECTMySQL 已将 ON DUPLICATE KEY UPDATE 中用 VALUES() 读取新行字段的写法标记为弃用。本文从库存快照写入场景出发,给出行别名 AS new 的最小改写、INSERT ... SELECT 的不同处理方式,以及上线前应核对的兼容边界。117 收藏
-
本文用删除冗余索引的场景讲清 MySQL 不可见索引:它让优化器先忽略索引,用 EXPLAIN、慢查询和业务指标观察影响,再决定恢复可见或真正删除。468 收藏
-
本文用订单表归档为例,讲清 MySQL 历史数据如何按时间窗口分批搬迁:先确定归档边界,再批量写入归档表,校验数量和金额,最后小批量清理热表,降低锁等待和慢查询风险。261 收藏
-
文章 · 软件教程 | 1个月前 | MySQL · SQL · dbeaver · 软件教程 · 数据库客户端 · mysql 数据库工具 SQL Editor DBeaver Database Navigator本文用 DBeaver 连接 MySQL 的完整流程做示例:从新建连接、填写主机端口、下载驱动、测试连通,到打开表数据和运行 SQL,帮你把数据库客户端的常用操作一次理顺。465 收藏
-
本文用订单列表查询场景,演示普通二级索引为什么需要回表,以及如何通过覆盖索引减少回表,并用 EXPLAIN 的 Extra 验证优化结果。381 收藏
-
本文用后台订单列表总数统计场景,演示为什么大表每次 COUNT 会拖慢接口,并按精确总数、条件筛选、缓存和汇总表给出优化方案。336 收藏
-
本文用订单号查询变慢的场景,演示 MySQL 隐式转换如何导致索引无法稳定命中,并给出字段类型统一、参数绑定和上线检查方案。152 收藏
-
本文用订单列表深分页场景,演示为什么 LIMIT 大偏移会变慢,并通过覆盖索引、延迟关联和游标式分页减少无效扫描。339 收藏
-
你好,我是yes。我的 VIP 用户又抛给我一个 SQL 问题,我很激动,因为素材又来了:我一看,这个表没什么花头,不就是没设置主键吗,MySQL 会默认生成一个主键,这跟 delete 不掉数据好像也没啥417 收藏