mysql 查询啥情况下使用tmp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 查询啥情况下使用tmp相关的知识,希望对你有一定的参考价值。

参考技术A   ZDNet至顶网软件频道
mysql导致tmp目录空间耗尽,
mysql

tmpdir
设置在/tmp目录,第一时间查看
ls
-alth
并为发现大文件,也没有mysql临时表之类的文件。
  收到磁盘空间告警的信息,/tmp目录磁盘使用率99%。
  mysql

tmpdir
设置在/tmp目录,第一时间查看
ls
-alth
并为发现大文件,也没有mysql临时表之类的文件。
  连接mysql,show
processlist
并为发现异常查询
……

mysql啥时候使用子查询,啥时候使用表连接查询,关系多张表的时候该怎么查询

1,表关联的效率要高于子查询,因为子查询走的是笛卡尔积
2,表关联可能有多条记录,子查询只有一条记录,如果需要唯一的列,最好走子查询追问

比如说我有三张表ABC,其中AB连接要用一个字段,BC连接要用一个字段,就是A和B是多对多的关系,我该用什么查询呢

追答

多表查询 用表关联啊,子查询是不建议使用的
看你要取什么样的数据 多对多的话 你要看清楚,容易产生笛卡尔积,取决于你想要什么样的数据
比如你就想要多对多的数据 就可以直接关联嘛

参考技术A

Semi-join 限制

不过并不是所有子查询都是半联接,必须满足以下条件:

    子查询必须是出现在顶层的 WHERE、ON 子句后面的 IN 或者 =ANY子查询必须是单个 select,不能是 union;子查询不能有 group by 或者 having 子句(可以用 semijoin materialization 策略,其他不可以 );It must not be implicitly grouped (it must contain no aggregate functions). (不知道啥意思,保持原文);子查询不能有 order by with limit;父查询中不能有 STRAIGHT_JOIN 指定联接顺序;The number of outer and inner tables together must be less than the maximum number of tables permitted in a join.

以上是关于mysql 查询啥情况下使用tmp的主要内容,如果未能解决你的问题,请参考以下文章

mysql缓存啥情况下会释放

c#sqlserver在啥情况下使用到groupby进行分组查询

mysql 锁表会出现啥情况

我还想问下,你知道如何删除mysql或者sqlite3数据库中前面10条的数据吗?是在啥都不知道的情况下删除!

在不通过分析器程序的情况下,有啥替代方法来分析您的 Web 应用程序?

在这种情况下使用多态而不是枚举有啥好处吗?