MySQL缓慢检查大表中是否存在行

别名

目前,我通过检查该用户是否已在我们的视图表中记录了视图来检查该用户是否已观看了视频。

查询如下所示:

SELECT EXISTS(SELECT 1 FROM views WHERE videoid=:vid AND userid=:uid)

在显示带有视频缩略图的页面时,如果用户已经观看过此视频,则我们会覆盖“ Seen”,类似于youtube上的功能。

问题在于该查询的计算速度相当慢,因为视图表具有大量行-40或50ms。如果某个页面显示了60个视频缩略图,则需要3整秒的SQL延迟才能呈现该页面。

我的问题是否具有体系结构,还是可以做一些事情来加快查询的执行速度?

乔尼

您没有views覆盖videoid和userid列的索引,因此数据库可能会进行全表扫描。添加索引应该会有所帮助。例如:

alter table views add index (videoid, userid);

如果查询仍然很慢,请发布执行计划。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查MySQL上是否存在表

来自分类Dev

如何检查MySQL中是否存在行?(即检查MySQL中是否存在电子邮件)

来自分类Dev

如何检查Hive中是否存在表?

来自分类Dev

如何检查SQL Server表中是否存在行?

来自分类Dev

大表上缓慢的MySQL SELECT

来自分类Dev

检查数据表中是否存在行?

来自分类Dev

Android Sqlite:检查表中是否存在行

来自分类Dev

检查mysql列中是否存在值

来自分类Dev

如何使用条件检查SQLite表中是否存在行

来自分类Dev

检查Slick 3.0中的表是否存在

来自分类Dev

检查sqlite3中是否存在行?

来自分类Dev

检查Lua表中是否存在值

来自分类Dev

简单循环中不可预测的行为,以检查文件中是否存在行和列

来自分类Dev

如何快速检查PySpark Dataframe中是否存在行?

来自分类Dev

MySQL的:从表1中选择行,并测试表2中是否存在行

来自分类Dev

检查两个MySQL表中是否存在值

来自分类Dev

检查数据库中是否存在行

来自分类Dev

检查xml中是否存在行

来自分类Dev

如何从SQL Server 2008中的After Delete触发器内部检查日志表中是否已存在行?

来自分类Dev

使用mysqli检查另一表中是否存在行

来自分类Dev

检查是否存在多个mysql表

来自分类Dev

如何检查文件中是否存在行

来自分类Dev

检查MYSQL数据库是否存在行

来自分类Dev

如何检查字符串中是否存在行?

来自分类Dev

检查表中是否存在行

来自分类Dev

MySQL缓慢检查大表中是否存在行

来自分类Dev

MySQL-检查外部表中是否存在ID

来自分类Dev

检查 BigQuery Java 中是否存在表

来自分类Dev

如何使用一个查询检查多个表中是否存在行?