【说站】mysql使用关联查询的注意点
mysql 使用 查询 关联 注意
2023-06-13 09:13:16 时间
mysql使用关联查询的注意点
1、确保ON和USING字句中的列上有索引。
在创建索引的时候就要考虑到关联的顺序。当表A和表B用列c关联的时候,如果优化器关联的顺序是A、B,那么就不需要在A表的对应列上创建索引。没有用到的索引会带来额外的负担,一般来说,除非有其他理由,只需要在关联顺序中的第二张表的相应列上创建索引。
2、确保任何的GROUP BY和ORDER BY中的表达式只涉及到一个表中的列,这样MySQL才有可能使用索引来优化。
实例
假设MySQL按照查询中的关联顺序A、B来进行关联操作,那么可以用下面的伪代码表示MySQL如何完成这个查询:
outer_iterator = SELECT A.xx,A.c FROM A WHERE A.xx IN (5,6);
outer_row = outer_iterator.next;
while(outer_row) {
inner_iterator = SELECT B.yy FROM B WHERE B.c = outer_row.c;
inner_row = inner_iterator.next;
while(inner_row) {
output[inner_row.yy,outer_row.xx];
inner_row = inner_iterator.next;
}
outer_row = outer_iterator.next;
} 可以看到,最外层的查询是根据A.xx列来查询的,A.c上如果有索引的话,整个关联查询也不会使用。再看内层的查询,很明显B.c上如果有索引的话,能够加速查询,因此只需要在关联顺序中的第二张表的相应列上创建索引即可。
以上就是mysql使用关联查询的注意点,算是对关联查询的优化,大家学会后也赶快试试吧。更多mysql学习指路:MySQL
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑
相关文章
- cmd查询MySQL版本_mysql数据库卸载
- 使用Excel快速导入MySQL数据库(excle导入mysql)
- 多条件查询MySQL中使用And多条件查询的步骤(mysql中and)
- MySQL 查询反转:从新定义查询结果(mysql取反)
- MySQL:如何建立且编码指定的数据库(mysql建库指定编码)
- MySQL外键约束:检查你的数据完整性!(mysql外键检查)
- 深入分析MySQL慢查询日志(mysql的慢查询日志)
- Mysql命令行如何使用操作技巧(mysql命令行怎么用)
- 多条记录MySQL:批量更新多条记录(mysql同时更新)
- 命令MySQL使用CMD命令执行SQL查询(mysql执行cmd)
- MySQL管理:如何查看数据库操作记录?(mysql查看操作记录)
- 使用MySQL实现高效微盘下载(mysql微盘下载)
- MySQL数据库查找:发掘无限可能(mysql数据库查找)
- 优化MySQL表锁查询:技术指南(mysql表锁查询)
- 极速搜索:MySQL中的关键字(mysql关键字搜索)
- 用MySQL查询技巧:获取最佳结果(mysql怎么在查询)
- 里在哪里安装MySQL数据库?(mysql装在哪)
- 无法删除MySQL数据库中的数据?可能出现的几个问题及解决方法(mysql不能删数据)
- MySQL视图:优化查询速度的秘诀(mysql视图速度)
- 如何解决MySQL查询结果为空的问题(mysql结果为空)
- MySQL新建数据库连接详解(mysql新建数据库连接)
- MySQL教程:如何在数据库中增加新用户(mysql增加新用户)
- 使用MySQL和Q4M极大地提高数据库性能(mysqlq4m)
- MySQL查询之用户表分析(mysql查询用户表)
- MySQL中如何创建临时表(mysql中临时命名表)
- MySQL表关联查询优化技巧解析(mysql两表关联查优化)
- MySQL双条件排序 单表查询语句指定不同排序方式 (mysql 两种条件排序)
- 如何避免 MySQL 数据库中显示空值(mysql 不显示空值)