在mysql数据库里用sql语句select数据,是select * 速度快,还是select指定字段速度快?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在mysql数据库里用sql语句select数据,是select * 速度快,还是select指定字段速度快?相关的知识,希望对你有一定的参考价值。

比如一条数据有10个字段,我这个页面只想用到其中8个字段的数据。这时候我代码里是select * 把数据全取出来,还是指定需要的8个字段来select ?这两种方式哪种对服务器的压力更大?

参考技术A select * 快把 参考技术B select * 快,select只做一次判断,剩下的就是单纯的取数据,取数据的时间要小于你select字段时查询字段的时间,因为你在select中每加一个字段,都要去判断字段,然后才取它的值本回答被提问者和网友采纳

MySQL的SQL语句 - 数据操作语句(13)- 子查询

具有 EXISTS 或 NOT EXISTS 的子查询

如果子查询返回任何行,则 EXISTS subquery 为 TRUE,NOT EXISTS subquery 为 FALSE。例如:


1. SELECT column1 FROM t1 WHERE EXISTS (SELECT * FROM t2);

一般来说,EXISTS 子查询以 SELECT * 开头,但它可以用 SELECT 5、SELECT column1 或其他任何内容开头。MySQL 在这样的子查询中忽略 SELECT 列表,因此没有任何区别。

对于前面的示例,如果 t2 包含任何行,甚至包含只有 NULL 值的行,则 EXISTS 条件为 TRUE。这实际上是一个不太可能的例子,因为 [NOT] EXISTS 子查询几乎总是包含相关性。下面是一些更现实的例子:

● 在一个或多个城市中有什么样的商店?

1. SELECT DISTINCT store_type FROM stores
2.   WHERE EXISTS (SELECT * FROM cities_stores
3.                 WHERE cities_stores.store_type = stores.store_type);

● 任何城市都不没有的是什么类型的商店?

1. SELECT DISTINCT store_type FROM stores
2.   WHERE NOT EXISTS (SELECT * FROM cities_stores
3.                     WHERE cities_stores.store_type = stores.store_type);

● 所有城市都有的商店是什么商店?

1. SELECT DISTINCT store_type FROM stores s1
2.   WHERE NOT EXISTS (
3.     SELECT * FROM cities WHERE NOT EXISTS (
4.       SELECT * FROM cities_stores
5.        WHERE cities_stores.city = cities.city
6.        AND cities_stores.store_type = stores.store_type));

最后一个例子是一个双重嵌套的 NOT EXISTS 查询。也就是说,它在 NOT EXISTS 子句中有一个 NOT EXISTS 子句。从形式上说,它回答了“一个城市是否存在一个没有在 Stores 表中的商店”?但是更容易说的是,嵌套的 NOT EXISTS 回答了问题“x 对所有 y 都是真的吗?”

在 MySQL 8.0.19 及更高版本中,也可以在子查询中使用带有 TABLE 的 NOT EXISTS 或 NOT EXISTS,如下所示:

1. SELECT column1 FROM t1 WHERE EXISTS (TABLE t2);

结果与在子查询中使用不带 WHERE 子句的 SELECT * 相同。

官方网址:
https://dev.mysql.com/doc/refman/8.0/en/exists-and-not-exists-subqueries.html

以上是关于在mysql数据库里用sql语句select数据,是select * 速度快,还是select指定字段速度快?的主要内容,如果未能解决你的问题,请参考以下文章

php+mysql select 变量 from

SQL语句取最后100条数据

oracle sql与标准的sql语句的区别?

MySQL的SQL语句 - 数据操作语句(12)- SELECT 语句

mysql查询表中数据总条数的语句怎么写

MySQL数据库基础——SQL查询