-
就运营效率而言,有两种情况。
第一种情况是返回的无用列过多,导致通过网络传输的数据过多。
您希望返回所有列的信息。
如果表中有很多列,则有很多二进制数据类型。
的话。 例如,有一个安全系统,有一个进入和退出的日志。 这扇门需要 2 个人,每人刷一次卡才能进入。
此表包含以下列:
自增流量、门**、日期时间、第一次刷卡、第二次刷卡、第二次刷卡、第一次刷卡、第二次,..其他列。
现在我发现可能存在安全问题,说昨天丢失了一些东西。
那么第一个就是第一个。
select
日期和时间,门**,第一次刷卡**,第二次刷卡**。
从表中。
其中门口** ='掉东西的房间的门'
和日期时间>昨天的 0:00。
我们先来看看谁刷卡了,然后重点看刷卡记录中可能有问题的信息。
否则你就直走。
select
从表中。
其中门口** ='掉东西的房间的门'
和日期时间>昨天的 0:00。
有太多数据要同时从服务器传递到客户端。 而且这些数据可能不是您可以使用的东西。
第二种情况是检索到的列是否包含在索引中。
在里面,那么查询效率要快得多。
同样,上面的例子。
假设有这样一个索引(门口**,日期时间)。
select
日期和时间,入口**。
从表中。
其中门口** ='掉东西的房间的门'
和日期时间>昨天的 0:00。
在这个查询中,你甚至不需要查询表,你可以直接查询索引后返回。
在 SQL Server 中,可以将其他数据段包含在索引中。
例如:创建非聚集索引 idx testdoc
在桌子上(门口**,日期和时间)。
include(第一次刷卡**,第二次刷卡**);
创建上述索引时。
select
日期和时间,门**,第一次刷卡**,第二次刷卡**。
从表中。
其中门口** ='掉东西的房间的门'
和日期时间>昨天的 0:00。
您不再需要访问该表,只需查询索引即可返回。
在这种情况下,无法使用 select *。 您需要先访问索引,然后通过索引中的信息,可以找到表中的具体行数据,然后进行检索。
-
<>因为如果是 *,SQL 语法解析器会先读取表中的列,然后用这些列替换 *,这无疑是浪费时间。 但这可以忽略不计,如果必须选择所有列,我建议使用 *,因为以这种方式编写的 SQL 语句简短明了。
-
一楼说了很多,但并不重要。
之所以不能使用SQL语句,是为了程序的扩展性,也就是向后兼容,在C和很多Web项目的开发中,如果SQL语句写死,以后如果修改SQL表结构,用*查询,那会发生什么,可想而知程序异常。 如果你不使用 *,那么以后不管你怎么修改表结构,都没关系。
-
SQL SQL是“结构化查询语言”的缩写,最初是由IBM的圣约瑟夫研究实验室为其关系数据库管理系统System R开发的。 SQL语言简洁、强大、易学,所以自IBM在1981年推出以来,SQL语言就被广泛使用。 如今,无论是 Oracle、Sybase、Informix、SQL Server 等大型数据库管理系统,还是 Visual Foxporo 和 PowerBuilder 等微型计算机上常用的数据库开发系统,都支持使用 SQL 语言作为查询语言。
SQL 是一种高级的非过程编程语言,允许用户处理高级数据结构。 它不需要用户指定数据存储的方法,也不要求用户了解具体的数据存储方法,因此具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入和管理的基本接口。 它以记录集合为操作对象,所有SQL语句都接受该集合作为输入,并将该集合作为输出返回,这种集合特性允许一个SQL语句的输出是另一个SQL语句的输入,因此SQL语言可以嵌套,这使得他具有极大的灵活性和强大的功能, 大多数情况下,在其他语言中,一个需要大型程序实现的单个事件只需要一个SQL语句就可以达到目的,这也意味着可以用SQL语言编写非常复杂的句子。
SQL 也是数据库文件格式的扩展。
SQL 语言由 4 个部分组成:
数据查询语言(select 语句)。
数据操作语言(插入、更新、删除语句)和数据定义语言(如创建、删除等)
你的判断在挖仿冲上应该有一定的道理,楼上的人大多都是背心。 顶部,只有关键字是“”,率这么高,不知道用什么方法上升到顶部,呵呵。 >>>More