mysql 判断记录是否存在方法比较_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语句查询到的记录,然后判断记录是否存在,从而判断记录是否存在。这个方法虽然可行,但对于我们的要求来说,还是有些浪费,我们不需要查询到的记录,所有性能上会有损失。这里不推荐。

时间: 2024-09-11 21:38:37

mysql 判断记录是否存在方法比较_Mysql的相关文章

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

我这里总结了判断记录是否存在的常用方法: sql语句:select count(*) from tablename; 然后读取count(*)的值判断记录是否存在.对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来. 以下这个方法是我推荐的. sql语句:select 1 from tablename where col = col limit 1; 然后读取语句执行所影响的行数. 当然这里limit 1很重要.这要mysql找到一条记录后就不会在往下找了.这里执行

mysql 8.0 安装配置方法教程_Mysql

一.安装mysql yum源 从官网http://dev.mysql.com/downloads/repo/yum/下载mysql最新的yum源的rpm安装包 wget http://repo.mysql.com//mysql57-community-release-el6-9.noarch.rpm 使用yum安装rpm包 yum install mysql57-community-release-el6-9.noarch.rpm 检测mysql yum源 yum repolist enable

还原大备份mysql文件失败的解决方法分享_Mysql

用下面方法解决(管理mysql用的是navicat).,设置以下几个参数的值后就正常了,以下语句也可以在mysql的控制台上执行 . 复制代码 代码如下: show variables like '%timeout%'; show variables like '%packet%'; set global max_allowed_packet=99328000; set global wait_timeout=2880000; set global interactive_timeout=288

MySQL数据库设置远程访问权限方法小结_Mysql

MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机. 1,设置访问单个数据库权限 复制代码 代码如下: mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2,设置访问全部数据库权限 复制代码 代码如下: mysql>grant all privileges on *.* to 'root'

mysql高效导数据的方法讲解_Mysql

数据:一个db,2000个表格,2000张表格数据,每条记录30个column,平均每张表格4.3w条记录,总共86388670条记录. 机器:linux 64bit 8G内存 4核IntelX3320@2.5GHz 基本思路: 复制代码 代码如下: mysql -utest -pxxxx -s -e "source xxxx.sql" 将load语句放在xxxx.sql中 load语法: 复制代码 代码如下: load data  [low_priority] [local] inf

MySQL 数据库优化的具体方法说明_Mysql

以下的文章主要描述的是MySQL数据库简单实用优化的具体方法的实现,中包括如何定期的表进行分析与检查, 以及如何正确对表进行定期的优化,以下就是具体方案的描述,希望在你今后的学习中会有所帮助. 1.定期分析表和检查表 分析表的语法如下: 复制代码 代码如下: ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tb1_name[, tbl_name]... 以上语句用于分析和存储表的关键字分布,分析的结果将可以使得系统得到准确的统计信息,使得SQL能够生成正确的

连接MySql速度慢的解决方法(skip-name-resolve)_Mysql

最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢. 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve. 原因是默认安装的MySql开启了DNS的反向解析.如果禁用的话就不能在MySQL的授权表中使用主机名了而只能用ip格式. 附:How MySQL uses DNS When a new thread connects to mysqld, mysqld will spawn a new thread t

mysql中复制表结构的方法小结_Mysql

mysql中用命令行复制表结构的方法主要有一下几种:  1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 或者 CREATE TABLE 新表 LIKE 旧表 2.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 3.复制旧表的数据到新表(假设两个表结构一样)  INSERT INTO 新表 SELECT * FROM 旧表 4.复制旧表的数据到新表(假设两个表结构不一样) INSERT INTO

关于MYSQL 远程登录的授权方法 命令_Mysql

方法一.本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%" #mysql -u root -proot mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;