`
flysnowxf
  • 浏览: 577778 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

select *与select 所有字段的查询效率比较

 
阅读更多
mysql 5.1.37
表记录数41,547,002,即4000w行

使用远程客户端取1000条数据,统计时间:
SELECT * FROM `dmsp`.`dmsp_dimension_content` LIMIT 0, 1000;
时间2.218s,网络消耗0.547s
SELECT `id`, `appid`, `aop`, `t`, `uid`, `sid`, `pid`, `pname`, `bid`, `bname`, `ptype`, `sm`, `sv`, `bt`, `national`, `area`, `ov` FROM `dmsp`.`dmsp_dimension_content` LIMIT 0, 1000;
取出所有字段,时间2.250s,网络消耗0.578s
多次查询(改变limit条件避免缓存),时间变化不大。

结论:两者差别几乎可忽略。所以查询所有字段(或者大多数字段)的时候,大可select *来操作。如果某些不需要的字段数据量特别大,还是写清楚字段比较好,因为这样可以减少网络传输。

如果这个表的所有字段组成一个联合索引,那么select 所有字段的效率会提高吗?
分享到:
评论

相关推荐

    去掉重复记录select * from

    这条语句的作用是:首先,子查询`(select Max(comid) from company group by companyname)`会按照`companyname`对表`company`中的所有记录进行分组,并从每个分组中选取`comid`的最大值。外部查询则基于这个结果,找...

    SQL常见命令及使用方法

    - **更新多个字段**:`UPDATE 表名 SET 字段名1 = 字段值1, 字段名2 = 字段值2, ... WHERE 条件`。 - 示例:`UPDATE Employees SET Salary = 55000, DepartmentID = 2 WHERE EmployeeID = 1` ### 3. 删除语句 - **...

    Oracle各种select查询语法

    该查询语句将查询emp表中comm字段大于sal字段的所有记录。 5、IN运算符 select * from emp where job in ('CLERK','MANAGER'); 该查询语句将查询emp表中job字段等于CLERK或MANAGER的所有记录。 6、排序 ...

    Mysql-单表查询 教学.pdf

    - 查询`student`表中的所有字段: `SELECT * FROM student;` ##### 4.1.3 查询指定字段 - **语法**: `SELECT 字段名1, 字段名2, ... FROM 表名;` - **案例**: - 查询`student`表中的`name`和`age`字段: `SELECT ...

    23个Mysql常用语句查询 最新 最全

    - 这里使用了比较运算符 `>` 来筛选 `sum` 字段大于100的所有记录。 - **其他常用比较运算符**: - `=`:等于 - `小于 - `<>` 或 `!=`:不等于 - `!>`:不等于(大于) - `!不等于(小于) - `>=`:大于等于 ...

    提高Oracle数据库查询效率

    在Oracle数据库管理与优化领域,提高查询效率是至关重要的一个环节。这不仅能够显著提升应用程序的性能,还能减少数据库服务器的负载,从而为用户提供更流畅的服务体验。本文将结合提供的SQL示例,深入探讨如何通过...

    Oracle查询指定表的所有字段名和数据类型SQL

    ### Oracle查询指定表的所有字段名和数据类型SQL 在Oracle数据库管理中,有时我们需要了解某个特定表的所有字段名称以及它们对应的数据类型等信息。这对于理解表结构、进行数据迁移或编写更为精确的SQL语句非常有...

    mysql数据库精华.doc

    - `SELECT * FROM 数据表 WHERE 字段名 = 字段值 ORDER BY 字段名 [DESC]`:此语句用于从数据表中选取所有"字段名"等于"字段值"的记录,并按"字段名"进行升序排序。如果添加`DESC`,则表示降序排序。 - `SELECT * ...

    mysql SELECT语句去除某个字段的重复信息

    - **IN 子句**:当数据量很大时,使用`IN`子句会导致大量的数据比较,降低查询效率。 - **子查询**:每次都需要重新计算子查询的结果,这也会消耗较多资源。 **优化建议**: 1. **使用内连接**:如本文示例中的...

    解决mybatis使用char类型字段查询oracle数据库时结果返回null问题

    例如,使用PreparedStatement方式查询数据时,需要将查询条件值与数据库中值进行完全匹配,否则将无法查到数据。例如,conn=getConnection();ps=conn.prepareStatement("select * from t_user where user_name=?");...

    oracle实现多字段匹配一个关键字查询

    3. **LIKE查询**:将连接后的字符串与包含关键字“keyValue”的模式进行比较。 #### 注意事项: - 连接操作可能会导致性能问题,特别是在处理大量数据时。因此,在实际应用中需要考虑使用索引或其他优化手段。 - ...

    SQL语句大全

    - **模糊查询**: `SELECT * FROM 数据表 WHERE 字段名 LIKE '%字段值%' ORDER BY 字段名 [DESC]` - **说明**: 模糊匹配字段值。 - **分页查询**: `SELECT TOP 10 * FROM 数据表 WHERE 字段名 ORDER BY 字段名 ...

    MySQL中数据查询语句汇总.pdf

    - **`SELECT 字段名 FROM 表名 WHERE 查询条件;`** - **用途**: 根据条件查询表中指定字段的数据。 - **示例**: `SELECT name FROM students WHERE age > 18;` 获取年龄大于18岁的学生的名字。 **2. 条件查询** ...

    SQL查询包含某个字段的所有表名

    首先,子查询找出所有包含'FUserID'的表ID,然后外部查询将这个结果集与包含'FID'的表ID进行比较,确保表同时具有这两个字段。 在实际应用中,这些查询可以帮助数据库管理员或开发人员快速定位包含特定字段的表,以...

    select form where 语句

    SELECT 语句也可以使用星号(*)来检索所有列。例如:SELECT * FROM loan WHERE amt > 1000。这将检索出所有贷款金额大于 1000 的记录,并包括所有列。 在 SQL 中,还有其他一些重要的概念,例如视图、安全性、完整性...

    C#实现查询特定数据表中的所有字段名称

    在C#编程中,查询特定数据表的所有字段名称是一项常见的任务,特别是在开发数据库驱动的应用程序时。本篇文章将深入探讨如何在Visual Studio 2010环境下,利用C#语言来实现这一功能。 首先,我们需要引入ADO.NET库...

    数据库相关所有查询基础知识

    `:查询字段值在两个取值之间的记录,如`SELECT * FROM t_student WHERE age BETWEEN 21 AND 29;`。 5. **LIKE模糊查询** - `WHERE 字段 [NOT] LIKE '字符串';`:用于进行模糊匹配,`%`表示任意字符,`_`表示单个...

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2、查询出所有数据进行分组之后,和重复数据...

Global site tag (gtag.js) - Google Analytics