服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|

服务器之家 - 数据库 - Mysql - mysql中判断记录是否存在方法比较

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

2019-11-21 15:06MYSQL教程网 Mysql

把数据写入到数据库的时,常常会碰到先要检测要插入的记录是否存在,然后决定是否要写入。

我这里总结了判断记录是否存在的常用方法:

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

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

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

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

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

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

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

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

延伸 · 阅读

精彩推荐
  • Mysqlmysql 有关“InnoDB Error ib_logfile0 of different size”错误

    mysql 有关“InnoDB Error ib_logfile0 of different size”错误

    mysql 有关“InnoDB Error ib_logfile0 of different size”错误的解决方法,需要的朋友可以参考下。 ...

    MYSQL教程网2912019-11-20
  • Mysqlprocesslist命令 查看mysql 线程

    processlist命令 查看mysql 线程

    processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令。 ...

    mysql教程网4572019-10-26
  • Mysqlinnodb如何巧妙的实现事务隔离级别详解

    innodb如何巧妙的实现事务隔离级别详解

    隔离是ACID(Atomicity,Consistency,Isolation,Durability)的重要部分,下面这篇文章主要给大家介绍了关于innodb如何巧妙的实现事务隔离级别的相关资料,文中通过示例...

    木瓜芒果2412019-06-17
  • Mysql远程访问MySQL数据库的方法小结

    远程访问MySQL数据库的方法小结

    MySQL数据库不允许从远程访问如何办?本文提供了 3种解决思路方法 ...

    mysql教程网2792019-11-04
  • MysqlSQL和NoSQL之间的区别总结

    SQL和NoSQL之间的区别总结

    在本篇内容里我们给大家精选了关于SQL和NoSQL之间的区别的总结内容,对此有需要的朋友们跟着学习下。...

    laozhang3472019-06-07
  • MysqlMySQL中in与exists的使用及区别介绍

    MySQL中in与exists的使用及区别介绍

    这篇文章主要介绍了MySQL中in与exists的使用及区别介绍,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...

    92.45202019-06-13
  • Mysqlmysql proxy问题的解决方法

    mysql proxy问题的解决方法

    最近试用mysql proxy,遇到若干问题,好在一一找到了解决方案,列出来备忘。这次使用的版本是0.6.x,也许新版本就没有这些问题了。 ...

    mysql教程网3742019-10-25
  • MysqlMYSQL配置参数优化详解

    MYSQL配置参数优化详解

    MySQL是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验 进行判断,然后设置合理的参数。下面我们...

    清酒故人2842019-07-01