看数据库连接池源码,发现连接池的参数validationQuery(SQL查询,用来验证从连接池取出的连接)设置的值为"SELECT 1",之前很少用这种写法,于是

google一下,总结如下:

以seven_user表为例,如下是建表语句:

CREATE TABLE `smily_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`version` int(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

select 1;
select 1 from smily_test;
select id from smily_test;
select version from smily_test;
select * from smily_test;

以上sql语句执行的结果如下:

mysql> select 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

mysql> select 1 from smily_test;
+---+
| 1 |
+---+
| 1 |
| 1 |
| 1 |
| 1 |
+---+
4 rows in set (0.00 sec)

mysql> select id from smily_test;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
+----+
4 rows in set (0.00 sec)

mysql> select version from smily_test;
+---------+
| version |
+---------+
| 1 |
| 2 |
| 3 |
| 4 |
+---------+
4 rows in set (0.00 sec)

mysql> select * from smily_test;

+----+---------+
| id | version |
+----+---------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
+----+---------+
4 rows in set (0.00 sec)

用show profiles查看这些sql语句的执行效率;

mysql> show profiles;
+----------+------------+--------------------------------+
| Query_ID | Duration | Query |
+----------+------------+--------------------------------+
| 1 | 0.00017700 | select 1 |
| 2 | 0.00013400 | select 1 from smily_test |
| 3 | 0.00011000 | select id from smily_test |
| 4 | 0.00010500 | select version from smily_test |
| 5 | 0.00011700 | select * from smily_test |
+----------+------------+--------------------------------+
5 rows in set (0.00 sec)

作用上来说是没有差别的,都是查看是否有记录,一般是作条件用的.

看得出执行效率为:  select 1 > select 1 from table > select anycolum from table > select * from table

再来看看 count(*) 和 count(1)的效率。

+----------+------------+------------------------------------+
| Query_ID | Duration   | Query                              |
+----------+------------+------------------------------------+
|        7 | 0.00037200 | select count(1) from smily_test    |
|        8 | 0.00034500 | select count(*) from smily_test    |
+----------+------------+------------------------------------+

转载于:https://www.cnblogs.com/happySmily/p/5939704.html

mysql select 1相关推荐

  1. mysql select * f

    mysql> select * from tb; +------+-------+ | id | name | +------+-------+ | 1 | tbone | | 3 | 2d2 ...

  2. mysql+select+unlock_MySQL的locktables和unlocktables的用法(转载)

    mysql select * from user; ----------------- | id| name| ----------------- |22 | abc| |223 | dabc| | ...

  3. mysql select语法_MySQL SELECT语法(一)SELECT语法详解

    SELECT的语法如下: SELECT[ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT ...

  4. Mysql Select 语句中实现的判断

    select *,if(sva=1,"男","女") as ssva from tableame where id =1 Quote 控制流程函数 CASE v ...

  5. mysql select表达式_MySQL数据库SELECT查询表达式解析

    数据的管理在很大一部分是在进行查找工作,而SELECT占据了很大的一部分 SELECT select_expr [,select_expr...] [ FROM table_reference WHE ...

  6. mysql select符合查询_数据库select group by 和having语句 多表连接查询 复合查询

    1.SELECT --group by 子句 group by子句按照指定的列column_name对表数据进行分组 group by 后面跟的列也叫分组特性列 使用group by后,能选择的列   ...

  7. MySQL SELECT:数据表查询语句

    MySQL 表单查询是指从一张表的数据中查询所需的数据,主要有查询所有字段.查询指定字段.查询指定记录.查询空值.多条件的查询.对查询结果进行排序等. MySQL SELECT 基本语法 MySQL ...

  8. mysql select 缓存_mysql select缓存机制使用详解

    mysql Query Cache 默认为打开.从某种程度可以提高查询的效果,但是未必是最优的解决方案,如果有的大量的修改和查询时,由于修改造成的cache失效,会给服务器造成很大的开销,可以通过qu ...

  9. Mysql select into outfile NULL值导出的处理方法

    目录 1简介... 1 2 准备... 1 2.1 环境说明... 1 3 安装... 2 4 配置... 2 5 使用... 2 5.1 验证实验... 2 5.2 问题分析... 4 6 延展.. ...

最新文章

  1. 迭代器模式(Iterator pattern)
  2. [转载自简书] ASPNetCore上传大文件碰到的一些问题总结
  3. 关于jquery的ajax编码的另类解决方案,巨简便
  4. python惰性求值效果_让Python中类的属性具有惰性求值的能力
  5. Python_模拟登录(爬取教务系统信息并制作查询界面)
  6. JWT教程_2 SpringSecurity与JWT整合
  7. Sqlite - constraint failed[0x1555]: UNIQUE constraint failed
  8. Django:MySQL查询结果为datetime.date无法转换为JSON
  9. mysql 索引 范围扫描_MySql学习笔记(六):扫描范围
  10. 最新仿7881游戏装备网虚拟物品交易源码+修复版
  11. matlab画空间直线,空间直线x y=z怎么画
  12. smtp邮件服务器配置,配置SMTP服务器
  13. 计算机系统备份教案,系统备份教案推荐.doc
  14. pdf2Image Pdf文件存为jpg NodeJs实现
  15. linux弹窗指令_Linux弹出U盘的正确姿势(命令行)
  16. 行业寒冬,Android程序员前景一片灰暗?
  17. Web大学生网页成品——英雄联盟LOL游戏网站制作与实现(HTML+CSS+JS)
  18. JPA之Specification复杂条件查询
  19. Linux chmod +755和chmod +777 各是什么意思呢?
  20. 使用安卓模拟器和GPA截帧分析手游

热门文章

  1. 07-XML 文件注解开发
  2. 四种常用的垃圾收集器
  3. redis 入门教程
  4. Android简易实战教程--第四十四话《ScrollView和HorizontalScrollView简单使用》
  5. reverseString
  6. 实现Windows Phone、Android和iOS平台的统一硬件访问
  7. 用Java实现几种常用排序算法(先实现一个org.rut.util.algorithm.SortUtil)
  8. 模拟jQuery ajax服务器端与客户端通信
  9. 矩形在as3视觉编程中的几个应用方式
  10. Spring 学习总结 使用静态工厂创建Bean