mysql 判断记录是否存在方法比较

 更新时间:2011年08月09日 16:54:53   作者:  
把数据写入到数据库的时,常常会碰到先要检测要插入的记录是否存在,然后决定是否要写入。
我这里总结了判断记录是否存在的常用方法:

sql语句:select count(*) from tablename;

然后读取count(*)的值判断记录是否存在。对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来。

以下这个方法是我推荐的。

sql语句:select 1 from tablename where col = col limit 1;

然后读取语句执行所影响的行数。

当然这里limit 1很重要。这要mysql找到一条记录后就不会在往下找了。这里执行所影响的行数不是0就是1,性能提高了不少。

如果你用的是PDO,可以用rowCount(),很容易就都到执行所影响的行数。

这里还有人可能会去读取sql语句查询到的记录,然后判断记录是否存在,从而判断记录是否存在。这个方法虽然可行,但对于我们的要求来说,还是有些浪费,我们不需要查询到的记录,所有性能上会有损失。这里不推荐。

相关文章

  • Linux安装MySQL教程(二进制分发版)

    Linux安装MySQL教程(二进制分发版)

    这篇文章主要为大家详细介绍了Linux安装MySQL教程,二进制分发版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • MySQL Buffer Pool如何提高页的访问速度

    MySQL Buffer Pool如何提高页的访问速度

    本文主要介绍了MySQL Buffer Pool如何提高页的访问速度,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • MySQL优化之大字段longtext、text所生产的问题

    MySQL优化之大字段longtext、text所生产的问题

    本文主要介绍了MySQL优化之大字段longtext、text所生产的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • mysql kill进程后出现killed死锁问题及解决

    mysql kill进程后出现killed死锁问题及解决

    这篇文章主要介绍了mysql kill进程后出现killed死锁问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 手把手教你用SQL获取年、月、周几、日、时

    手把手教你用SQL获取年、月、周几、日、时

    时间处理是我们日常开发中经常遇到的需求,下面这篇文章主要给大家介绍了关于如何用SQL获取年、月、周几、日、时的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • MySQL SQL优化教程之in和range查询

    MySQL SQL优化教程之in和range查询

    这篇文章主要给大家介绍了关于MySQL SQL优化教程之in和range查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Windows8下mysql 5.6.15 安装配置方法图文教程

    Windows8下mysql 5.6.15 安装配置方法图文教程

    这篇文章主要为大家详细介绍了Windows8下mysql 5.6.15 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • MySQL essential版本和普通版本有什么区别?

    MySQL essential版本和普通版本有什么区别?

    安装mysql的朋友可能会发现有时候我们看到essential版本,究竟与其它mysql版本有什么区别呢,这里简单介绍下
    2013-06-06
  • MySQL JOIN关联查询的原理及优化

    MySQL JOIN关联查询的原理及优化

    这篇文章主要介绍了MySQL JOIN关联查询的原理及优化,文章围绕主题展开详细的内介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • mysql数据库常见的优化操作总结(经验分享)

    mysql数据库常见的优化操作总结(经验分享)

    这篇文章主要给大家介绍了关于mysql数据库常见的优化操作,文章总结的都是个人日常开发使用mysql数据库的经验所得,其中包括Index索引、少用SELECT*、EXPLAIN SELECT以及开启查询缓存等相关资料,相信会对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04

最新评论