MySQL实战:从建表设计到慢查询排查

数据量增长后,查询为何变慢?从MySQL表结构与索引设计入手,结合执行计划定位瓶颈,再理解事务、锁和备份恢复,兼顾数据读写效率与可靠性。

阅读125
发布人iPython
发布时间2026-09-24
MySQL实战:从建表设计到慢查询排查

Navicat连接远程MySQL数据库失败的排查与解决

使用Navicat Premium连接远程MySQL数据库时,若出现连接拒绝错误,通常由端口未开放、本机IP未获授权或本地网络故障引起。本文重点解析如何检查服务器权限设置并配置允许特定IP访问,同时提供通用的排查步骤以快速恢复连接。

Navicat连接远程MySQL数据库失败的排查与解决

MySQL DELETE子查询性能优化实战:FROM JOIN改写技巧

当MySQL的DELETE语句包含子查询导致执行极慢时,通常是因为查询优化器未能有效利用索引进行过滤。本文将通过具体案例对比分析,展示如何将低效的子查询改写为基于多表JOIN的DELETE语句。通过FROM子句关联临时结果集,可让优化器利用主键直接定位数据,避免全表扫描和回表,将耗时从30秒级降低至毫秒级。

MySQL DELETE子查询性能优化实战:FROM JOIN改写技巧

MySQL 存储过程与函数:创建、语法及核心操作详解

本文详解 MySQL 中存储过程与函数的核心概念、创建语法及操作方法。文章区分了两者在返回值和参数类型上的差异,阐述了代码复用、性能优化及安全机制等优势。通过具体 SQL 代码示例,演示了如何定义 delimiter、声明输入输出变量、处理异常条件以及利用 Cursor 遍历结果集,并涵盖了 ALTER 修改与 DROP 删除的规范用法。

MySQL表结构与约束操作指南

本文系统整理MySQL表的基础操作与完整性约束。涵盖表的创建、查看及删除,重点讲解利用ALTER TABLE修改表名、增减字段及调整顺序的具体语法。同时详细说明NOT NULL、DEFAULT、UNIQUE、PRIMARY KEY、AUTO_INCREMENT及FOREIGN KEY等约束的设置方法与应用场景,帮助开发者规范设计数据库结构。

Python Scrapy异步MySQL存储实现详解

本文详解如何在Python Scrapy框架中实现数据的异步MySQL存储。通过引入twisted.enterprise.adbapi创建数据库连接池,结合自定义Pipeline与from_settings方法,将爬虫抓取与数据库写入解耦。文章包含settings配置、Item定义、Pipeline实现及错误处理机制,确保高并发爬虫场景下的数据完整性与写入效率。

MySQL外键约束详解:使用条件、语法与实战示例

本文详细解析MySQL外键约束的使用条件、定义语法及级联操作。重点说明只有InnoDB引擎支持外键,并通过代码演示如何通过ON DELETE/UPDATE实现数据完整性保护。涵盖外键添加、删除及实际应用场景,帮助开发者正确设计关系型数据库结构。

Python抓取搜狗微信文章并存储至MySQL实战

本文介绍如何使用Python编写爬虫程序,通过搜狗微信搜索接口抓取公众号文章标题、封面及正文内容,并利用pymysql库将数据持久化存储到MySQL数据库中。代码示例展示了数据库连接、数据去重检查及插入逻辑,供初学者参考学习。

Python抓取搜狗微信文章并存储至MySQL实战

PHP+MySQL传统分页实现原理与代码示例

本文基于PHP与MySQL环境,详细解析传统Web分页的实现逻辑。通过构建测试数据表,使用SELECT COUNT(*)获取总记录数,结合LIMIT offset, count语法截取指定页数据,并拼接URL参数处理页码跳转。文中提供完整的SQL查询与PHP处理代码,适用于理解基础分页机制及Legacy系统维护。

PHP+MySQL传统分页实现原理与代码示例

MySQL删除外键报错Errno 152/150的原因与正确操作指南

在使用MySQL执行ALTER TABLE DROP FOREIGN KEY时,若遇到Error on rename (errno: 152)或Can't create table (errno: 150),通常是因为提供的外键约束名称不正确或字段属性冲突。由于MySQL原生命令行错误提示不够直观,需通过SHOW INNODB STATUS查看具体的LATEST FOREIGN KEY ERROR详情来定位真正的错误原因(如找不到指定ID或SET NULL与NOT NULL冲突)。