从2个表中选择时MySQL查询非常慢

用户名

我正在尝试使用MySQL执行一个非常简单的查询。我想要实现的是在1个查询中从2个不同的表中选择一些数据。但是,如果我仅从1个表中选择数据,则查询运行很快,但是当我将其切换为从两个表中选择数据时,查询将变得非常慢。

我要实现的查询如下所示:

SELECT k.klantId, b.bestelId
FROM klanten k, bestellingen b
WHERE k.klantId=b.klantId AND voornaam LIKE '%henk%'

上面的查询大约需要20秒才能运行。

但是,当我像这样执行查询时,查询仅需不到一秒钟的时间即可运行:

SELECT k.klantId
FROM klanten k, bestellingen b
WHERE k.klantId=b.klantId AND voornaam LIKE '%henk%'

我还尝试从表“ bestellingen”中选择其他列,但这也很慢。

有谁知道选择一个额外的字段怎么可能这么慢?

- - - - - - - - - - - 编辑 - - - - - - - - - - -

我在场,但现在我在表上花了更多的列来选择。现在又需要18秒,但是也许我在扩展查询中做错了。有人看到这有什么问题吗?

SELECT filiaalId, bestelId, k.klantId, totaalPrijs, b.statusId, b.tmInvoer, geprint, verzendwijze, betaalwijze, afhaalpuntId, verzendkosten, betaalwijzeKosten 
FROM klanten k LEFT JOIN bestellingen b ON (k.klantId=b.klantId) 
WHERE (k.voornaam LIKE '%henk%' OR k.achternaam LIKE '%henk%' OR b.bestelId LIKE '%henk%') 
ORDER BY b.tmInvoer DESC
cb0

尝试使用mysql join,这应该更快。

SELECT k.klantId, b.bestelId
FROM klanten k LEFT JOIN bestellingen b ON (k.klantId=b.klantId)
WHERE voornaam LIKE '%henk%'

你也可以确保两列k.klantId,并b.bestelId进行索引。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL选择查询非常慢

来自分类Dev

MySQL大表-查询非常慢

来自分类Dev

MySQL从2个表中选择数据

来自分类Dev

我正在尝试从2个mysql表中选择数据到1个查询中

来自分类Dev

在 1 个查询中从 2 个表中选择行

来自分类Dev

MySQL查询-从2个表中选择数据并替换字段内容

来自分类Dev

MySQL非常慢的查询

来自分类Dev

MYSQL(NOT IN)查询非常慢

来自分类Dev

mysql查询从三个表中选择数据

来自分类Dev

mysql查询从三个表中选择数据

来自分类Dev

MySQL Best从两个表中选择查询

来自分类Dev

Mysql 复杂从 4 个表中选择查询

来自分类Dev

在单个查询中从2个表中选择

来自分类Dev

在单个查询中从2个表中选择

来自分类Dev

MySQL-加入2个表时在第二个表中选择最后一个条目

来自分类Dev

Mysql表更新查询非常慢,并且每天都在增加

来自分类Dev

MySQL从2个不同的表中选择并合并结果

来自分类Dev

MySQL从多个表中选择2个项目

来自分类Dev

MySQL从2个表中选择而没有“共享”键

来自分类Dev

php mysql如何从2个表中选择我需要的

来自分类Dev

MySQL从2个表和计数中选择不同的值

来自分类Dev

php mysql 从 2 个表中选择计数

来自分类Dev

mysql - 从 2 个不同的表中选择不同的行

来自分类Dev

使用where子句时,mysql select查询非常慢

来自分类Dev

使用 Order By 时 MySQL 查询变得非常慢

来自分类Dev

查询以从多个表中选择MySQL

来自分类Dev

MySQL子查询非常慢

来自分类Dev

MySQL查询运行非常慢

来自分类Dev

MySQL跨3个表运行速度非常慢