MySQL-mysql中快速判断数据是否存在的方法

MySQL-mysql中快速判断数据是否存在的方法

泛泛之交 发布于 2017-08-24 字数 354 浏览 1203 回复 3

在mysql数据库,有时候程序经常在获取数据前首先根据条件判断符合条件的记录是否存在,当表中的数据量很大的时候,大家一般用什么语句判断最高效快速?我一般用下面三种:

SELECT * FROM tablename WHERE ... LIMIT 1
SELECT COUNT(1) AS num FROM tablename WHERE ...
SELECT COUNT(*) AS num FROM tablename WHERE ...

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浮生未歇 2017-09-28 3 楼

首先,我不知道什么情况下查询前需要先判断数据是否存在,当你查询后返回的是空不就代表没有数据吗?为什么要先判断一下呢,就算要判断,也是取最小的结果集,所以我想的应该是:

select 主键 from 表名 where 查询条件 limit 1;

灵芸 2017-09-12 2 楼

SELECT * FROM tablename WHERE ... LIMIT 1 这种比较好。个人理解:第一种是DB找到符合的第一条数据就返回,不用再查找数据了,而剩下的两种情况DB都需要将符合where条件的数据都找到才返回,相对来说第一种效率最好。

灵芸 2017-08-25 1 楼

SELECT 1 FROM tablename WHERE ... LIMIT 1 比较好。