gpt4 book ai didi

sql - 快速检查 SQL 数据库中是否存在条目

转载 作者:行者123 更新时间:2023-11-29 01:48:01 24 4
gpt4 key购买 nike

吹毛求疵的问题:

我喜欢有一个返回 bool 值的函数来检查表是否有条目。而且我需要经常调用它,因此需要进行一些优化。

暂时使用 mysql,但应该是相当基础的...

那么我应该使用

select id from table where a=b limit 1;

select count(*) as cnt from table where a=b;

还是完全不同的东西?

我认为带限制的 SELECT 应该在第一次找到后停止,count(*) 需要检查所有条目。所以 SELECT 可能会更快。

最简单的事情是做几个循环并测试它,但我的测试没有帮助。 (我的测试系统好像也用别的方式,稀释了我的结果)

最佳答案

这种“需要”通常表示您正在尝试插入或更新的情况。两种最常见的情况是批量加载/更新行,或点击计数。

使用 INSERT ... ON DUPLICATE KEY UPDATE 可以避免首先检查行是否存在陈述。对于点击计数器,只需要一条语句。对于批量加载,将数据加载到临时表中,然后使用 INSERT ... ON DUPLICATE KEY UPDATE使用临时表作为源。

但是如果你不能使用它,那么最快的方法是 select id from table where a=b limit 1; 以及 force index 以确保mysql 只查看索引。

关于sql - 快速检查 SQL 数据库中是否存在条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1635908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com