我正在使用MySQL查询在四个表上执行三个表连接 . 其中两个连接在一对MUL键上 . 第三个连接位于一对主键上 . 查询需要一分钟才能获得100行 .

我相信两对MUL键都是独一无二的;所以我想知道,如果这些密钥被索引为唯一的密钥,或者做成外键,我会注意到显着的性能提升吗?

MUL键上的连接可能是罪魁祸首吗?

Edit

好的,这是架构 . 我用字母代替实际的表/列名称 .

mysql> describe table A;

+-------------------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------------------+------------------+------+-----+---------+----------------+

| pkey | int(10) unsigned | NO | PRI | NULL | auto_increment |

| mkey | int(10) unsigned | NO | MUL | NULL | |

| a | int(10) unsigned | NO | | NULL | |

| b | int(10) unsigned | NO | | NULL | |

mysql> describe table B;

+-------------------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------------------+------------------+------+-----+---------+----------------+

| pkey | int(10) unsigned | NO | PRI | NULL | auto_increment |

| mkey1 | int(10) unsigned | NO | MUL | NULL | |

| mkey2 | int(10) unsigned | NO | MUL | NULL | |

| a | int(10) unsigned | NO | | NULL | |

| b | int(10) unsigned | NO | | NULL | |

| c | int(10) unsigned | NO | | NULL | |

mysql> describe table C;

+---------------+------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------------+------------------+------+-----+---------+-------+

| pkey | int(10) unsigned | NO | PRI | NULL | |

| mkey | varchar(128) | NO | MUL | NULL | |

mysql> describe table D;

+---------------+------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------------+------------------+------+-----+---------+-------+

| pkey | int(10) unsigned | NO | PRI | NULL | |

| mkey | varchar(128) | NO | MUL | NULL | |

查询:

select

A.a, A.b, B.c, A.mkey, C.pkey, D.mkey

from

A, B, C, D

where

A.pkey=C.pkey and

A.mkey=B.mkey1 and

B.mkey2=D.pkey and

B.a <= A.a and

B.b >= A.b

D.mkey in ('str1', 'str2', ...);

返回77行 .

mysql怎么加入mul_MySQL确实加入了MUL键的影响性能?相关推荐

  1. MySQL:为什么用limit时,offset很大会影响性能

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"加入公众号专属技术群 来源:rrd.me/fe8TT 一,前言 首先说明一下My ...

  2. mysql外键写了会怎么样_mysql使用外键会影响性能吗

    推荐答案 孔雀丫丫 2015.04.10 采纳率:87%    等级:38 已帮助:18万人 外键约束对子表的含义: 如果在父表中找不到候选键,则不允许在子表上进行insert/update 外键约束 ...

  3. mysql 索引类型 mul_mysql的四种索引类型

    一.索引的类型 mysql索引的四种类型:主键索引.唯一索引.普通索引和全文索引.通过给字段添加索引可以提高数据的读取速度,提高项目的并发能力和抗压能力.索引优化时mysql中的一种优化方式.索引的作 ...

  4. MySQL中where 1=1真的会影响性能么?

    先说结论,where 1=1不会影响性能,如有错误,请指点一下 trim标记是一个格式化的标记,可以完成set或者是where标记的功能. 2020.1.17,周五,距离春节假期返家仅剩两天,在公司抽 ...

  5. MySql基础篇---003 SQL之DDL、DML、DCL使用篇:创建和管理表 ,数据处理之增删改,MySQL数据类型精讲 ,约束:联合主键

    第10章_创建和管理表 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步.只有正确地 ...

  6. python mysql批量insert数据、返回id_Python3 操作 MySQL 插入一条数据并返回主键 id的实例...

    Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据 #!/usr/bin/env python3 # -*- coding: UTF- ...

  7. mysql查询时,offset过大影响性能的原因与优化方法

    遇到的问题 我们大家都知道,mysql查询使用select命令,配合limit,offset参数可以读取指定范围的记录,但是offset过大影响查询性能的原因及优化方法,这次工作中因为要导出40W的数 ...

  8. MySQL性能管理及架构设计(一):什么影响了数据库查询速度、什么影响了MySQL性能...

    一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒能够相应的查 ...

  9. MySQL添加列、删除列,创建主键等常用操作总结

    MySQL添加列.删除列,创建主键等常用操作总结 一. 列常用操作 ① 添加新的一列test_column,并将其作为主键,FIRST将其放在表中第一行,auto_increement是自动增长 al ...

最新文章

  1. OpenCV中的特征匹配+单应性以查找对象
  2. offsetLeft 、offsetWidth、scrollHeight等的区别
  3. unigui 导入导出数据
  4. python获取机器唯一标识_python中uuid来生成机器唯一标识
  5. typescript 接口 java_Typescript基础(4)——接口
  6. thrift oneway的问题
  7. Linux之CPU物理核与逻辑核
  8. IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错
  9. The Python Challenge 题解
  10. 多元函数四则运算的一阶微分公式的存在性与性质
  11. [AHK]双击Ctrl+C调用谷歌翻译!
  12. 好大一个家 陈佩斯
  13. linux 操作excel文件,Linux下输出excel文件
  14. linux下的go富集分析,GO富集分析(R包GOseq)
  15. android原生农场壁纸,Android 6.0高清壁纸下载-Android 6.0原生壁纸高清免费打包下载-东坡下载...
  16. SmartZoneOCR识别控件免费下载地址
  17. python 多线程卡死跳出_解决python线程卡死的问题
  18. css 设置容器高度等于宽度,设置容器的宽高一致。
  19. html文本环绕’,css如何使文字环绕显示
  20. matlab平衡小车数学模型PID,自平衡小车控制系统设计.doc

热门文章

  1. 基于51单片机——八路彩灯设计
  2. 都柏林圣三一计算机在线测试,(完整版)圣三一4级模拟测试.docx
  3. python外星人入侵游戏无法开火_《Python编程:从入门到实践》第十二章,外星人入侵实例中无法获取键盘按键和退出游戏...
  4. ​电赛 | 19年全国一等奖,北航学子回忆录(下)
  5. FRDM-KL25Z开发板之殇
  6. Cubase pro 12 及原厂音源安装
  7. 使用FluentMybatis实现mybatis动态sql拼装和fluent api语法
  8. 科研入门宝典(二):文献调研工作如何展开
  9. 小米8无法识别sim卡-临时修复
  10. uva11121 Base -2