当前位置: 首页 > 面试题库 >

mysql fix使用where;

詹杰
2023-03-14
问题内容

我的SQL查询:

SELECT *
FROM updates_cats
WHERE uid =118697835834
ORDER BY created_date ASC

当前指数:

index1(uid, created_date)

说明扩展结果:

1 SIMPLE updates_cats ref index1 index1 8 const 2 100.00 Using where

如何在“使用位置”处固定“额外”字段,以便可以改为使用索引?

编辑:显示创建表:

CREATE TABLE `updates_cats` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `u_cat_id` bigint(20) NOT NULL DEFAULT '0',
 `uid` bigint(20) NOT NULL,
 `u_cat_name` text COLLATE utf8_unicode_ci NOT NULL,
 `total_updates` int(11) unsigned NOT NULL DEFAULT '0',
 `created_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 PRIMARY KEY (`id`),
 KEY `index1` (`uid`,`created_date`)
) ENGINE=MyISAM AUTO_INCREMENT=23522 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

问题答案:

这将是好过的唯一的事情Using whereUsing where; Using index一个“覆盖索引”。尝试选择公正uidcreated_date

Using where很好 这意味着它将指示的索引应用于WHERE子句并减少返回的行。要摆脱它,您必须摆脱该WHERE子句。

您应该注意以下事项:

  • Using filesort
  • Using temporary
  • 不使用索引:NULL在的“键”列中EXPLAIN,在“行”列中包含大量行。

您的EXPLAIN结果表明MySQL正在应用index1WHERE子句并返回2行:

1 SIMPLE updates_cats ref index1 index1 8 const 2 100.00 Using where


 类似资料:
  • 问题内容: 我想在PHP中使用的查询与命令的,但 我只看到1台 即得到, 我怎么可以让我的两个表 得到? 问题答案: 您必须重复该子句,它仅适用于一个查询,而不适用于整个查询。

  • 有没有办法在使用 jongo 查询 MongoDB 时添加 ?我发现这样的错误 - '排序超出了 104857600 字节的内存限制,但没有选择加入外部排序。正在中止操作。传递 allowDiskUse:true 可以选择加入,可以通过以下方式阻止,您的聚合看起来像 但据我所知,Jongo 中的类仅将管道应用于自身,然后您可以使用 方法执行。 是否有任何方法可以将该参数传递给mongo而不从Jon

  • 问题内容: 我在远程服务器上有一个管理Web应用程序。该应用程序是使用MEAN堆栈编写的,我列出了连接到Web应用程序所需的所有RESTful路由。 我正在编写一个Java客户端应用程序,该应用程序需要从该管理应用程序发送和接收数据。如果我具有服务器的IP地址和REST路由,如何将客户端连接到Web应用程序? 我想我需要提供到服务器和REST API文件的URL连接,然后仅调用诸如和的路由功能。

  • 问题内容: 我使用spring数据和方法来获取模型。调用此方法时如何使用查询提示? 上面的源代码工作正常,但是我不能为我的JPA提供程序(在我的情况下为EclipseLink)设置QueryHint。 以上是我使用spring-data使用查询提示的方式, 我还发现了这个尚未解决的问题。 问题答案: 当我想使用spring-data创建查询时,请遵循上述算法。 1)是否已经提供的查询 通过弹簧数据

  • 我使用spring数据和方法获取模型。调用此方法时如何使用查询提示 上面的源代码运行良好,但我无法为我的JPA提供者(在我的例子中是EclipseLink)设置QueryHint。 我使用spring数据使用查询提示的方式如下:, 我也发现这个还没有解决。

  • 我有一个带有3列的示例MyTable-id、common_id、creation_date,其中common_id分组条目。 现在,我想使用CriteriaBuilder从每个组中选择所有最新的条目(即每个常见的\u id获取最新的创建日期)。 SQL查询如下所示: 现在我尝试通过编写类似(cb是CriteriaBuilder,root是Root)的内容来创建place谓词: 但不幸的是。数组不是