背景说明
mysqldump这个工具用于导出数据,若要导出整个表,语法是 bin/mysqldump db t1;
也可以通过—where 指定查询条件 bin/mysqldump db t1 –where=’id=1’.
新需求
有这种需求,这个查询条件需要join另外一个表。比如导出的逻辑需要的是 (1) select t1.* from t1, t2 where t1.f1=t2.f1 and t2.f2=n;
一个方案是这么写 (2) –where ‘id in (select t1.id from t1, t2 where t1.f1=t2.f1 and t2.f2=n’。
这也能实现,但是由于in中有子查询,性能很差
修改策略
其实(1) (2)两个语句的语义相同,但(2)受工具限制绕了个远。修改目的是让mysqldump允许用户自定义完整SQL语句。
说明:
1、增加 –full_query参数,参数值为完整SQL语句的”select” 之后的部分。
2、若此参数被指定,则忽略where参数
3、用法参考附件中的mysqldump-fq.test
4、附件中的myqldump需在64环境下使用
分享到:
相关推荐
- 参数调优:调整innodb_buffer_pool_size、query_cache_size等参数。 - 日志与缓存:了解redo log、undo log、binlog以及缓存机制。 6. **复制与高可用**: - MySQL复制:主从复制,半同步复制,多源复制,GTID...
- InnoDB和MyISAM:了解它们的主要差异,如事务支持、行锁定、索引类型等。 - Memory和CSV存储引擎:适用场景和特性。 - 存储引擎选择:根据业务需求选择合适的存储引擎。 5. **事务处理** - 事务的ACID属性:...
- **InnoDB存储引擎改进**:支持更大的表空间、更好的行格式以及多源复制等增强功能。 - **JSON支持**:增强了对JSON数据类型的处理能力,允许在关系数据库中存储和操作非结构化数据。 - **安全增强**:如密码...
- Query Cache改进:查询缓存现在可以动态调整大小,且支持查询结果的分片,提高了缓存效率。 - 基于成本的查询优化器:改进了查询执行计划的选择,使得查询性能更优。 3. **安全性和权限管理**: - 引入了`...
SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,广泛应用于各类数据库系统,如MySQL、Oracle、SQL Server等。本指南将深入讲解SQL的基本概念、语法和实用技巧,帮助你掌握这一强大的数据...
- 联接(JOIN):如内连接(INNER JOIN)、外连接(LEFT JOIN, RIGHT JOIN, FULL JOIN)以及自连接的应用,用于合并多个表的数据。 - 分组与聚合函数:GROUP BY、HAVING用于数据分组,COUNT、SUM、AVG、MAX、MIN等...
- **使用mysqldump备份数据库**:`mysqldump -u username -p db_name > backup.sql` - **使用mysql还原数据库**:`mysql -u username -p db_name 这份速查表覆盖了MySQL中的基本操作,对于日常开发和面试准备非常...
MySQL是一个开源、免费的数据库系统,支持多种操作系统,如Windows、Linux和macOS。它以其高效、稳定和易于使用的特点,成为许多企业和个人开发者的首选。 2. 数据库基础: - 数据库:存储和管理数据的系统,...
这个版本在数据库性能、稳定性以及安全性方面都做了显著的改进,使其成为许多企业和开发者的首选。以下是对MySQL 5.5.28的一些关键知识点的详细解释: 1. **安装过程**: - 下载:首先,你需要从官方网站或可靠的...
- **Full-text Search改进:** 提供了对全文索引的改进,支持更多的全文搜索操作,如自然语言搜索和布尔操作符。 **2. Linux环境下的MySQL安装:** - 解压`mysql-5.5.12.tar.gz`:使用`tar -zxvf mysql-5.5.12....
- **Full-Text Search增强**:添加了对部分索引和全文搜索的改进,支持短语查询和近似匹配。 - **分区功能**:增强了分区功能,支持更多的分区类型和更灵活的分区策略。 - **性能提升**:通过多线程SQL解析器、...
- **SQL**:SQL(Structured Query Language)是用于管理关系数据库的语言,包括查询、更新和操作数据。 - **索引**:索引是提高查询性能的关键,通过创建索引,可以快速定位和访问数据。 - **事务**:事务是...
- **Full-text Search**:5.5版改进了全文检索功能,支持更高效的全文索引和搜索。 - **Query Cache优化**:提高了查询缓存的效率,能够更快地响应重复查询。 - **并行复制**:对于多主复制环境,5.5版支持多个...
- **Full-text Search增强:** 在5.5版本中,全文索引和搜索功能得到了增强,支持部分索引和对短语搜索的改进。 - **分区功能:** 支持更灵活的表分区策略,有助于大数据量表的管理,提高查询速度。 - **复制功能:*...
理解B-Tree、Hash、Full-text等不同类型的索引及其适用场景至关重要。 - **EXPLAIN分析**:通过EXPLAIN命令分析SQL查询的执行计划,可以帮助识别潜在的性能瓶颈,如全表扫描、临时表或排序操作。 - **JOIN优化**:...
- **内存管理**:了解缓冲池(Buffer Pool)、查询缓存(Query Cache)以及如何调整相关参数。 4. **并发与事务** - **事务特性**:ACID(原子性、一致性、隔离性、持久性)。 - **事务隔离级别**:READ ...
此外,还增加了Full-text Search支持,增强了对ACID事务的支持。 - 查询优化器改进:包括更精确的统计信息和查询优化算法,提升了查询速度。 - 并行复制:在主从复制模式下,MySQL 5.5引入了并行复制,允许从...
- **InnoDB与MyISAM**:对比InnoDB(支持事务处理和行级锁定)与MyISAM(读取速度快,不支持事务)的差异。 - **其他引擎**:如Memory(数据存储在内存中)和Archive(适合只读历史数据存储)。 4. **数据库设计*...
MySQL 5.1是MySQL数据库管理系统的一个重要版本,它提供了许多关键特性和改进,使得这个开源数据库系统在处理大量数据时更加高效、可靠。本文档将深入探讨MySQL 5.1的主要特性、安装与配置、SQL语法、表设计、索引...