..
由几个因素,其中一个影响性能的礼物绝对是花费的时间来处理SQL Server的T - SQL查询(查询),使应用程序本身。 有时它是数据库结构,影响了查询的速度,另一个是他们的书面说明,对性能有负面影响的方法。 在这种情况下,重写适当的T - SQL SQL Server的帮助引擎来优化性能。
有编写T - SQL查询(以及其它设备),如果适用,在他们的执行,从而对应用程序使用它们的性能和速度提高的结果,那么我们将看到一些建议。
它会发生在所有写这样的查询
从[TABLE_NAME] *
使用星号表示我们的数据库引擎,我们希望看到在FROM子句中的所有表的列。 但它不是一个好的做法,即使目标是获得所有列的值。 它“始终是更好地解释它的列名
SELECT ID,代码,描述,从[TABLE_NAME] DataModifica
明确写列的名称有几个好处:首先,SQL Server返回的数据,只需要我们的应用程序,不报告,不得使用其他数据,只返回所需的数据会降低SQL Server工作负载并最终降低了这种方式的查询结果收到网络负载(在传输的字节计算)。
不可低估的另一个方面是清楚的列在某种意义上与我们隔离开来改变从中提取数据表的架构相关的潜在问题,我们的未来应用程序的名称。 事实上,如果您使用星号,有一天有人决定改变审讯要在我们的应用程序目前也不会接受的预算在其实施的时间更多的信息表。 这在某些情况下可能导致未处理的错误的发生。 然而,如果应用程序查询中列名上市绝不会出现这个问题(当然,除非表的架构被删除的列选择列表列)。
正如也进入表中的数据(INSERT)的说明前面的情况是一个好主意,明确标识,以加强列名。
事实上,如果我们写一个这样的INSERT语句
TabellaLettere INSERT INTO VALUES('A','B','C')
SQL Server将预计在问题表只有三列组成。 如果由于某种原因,你通过执行该指令添加到表列,您将得到以下错误
列名或所提供值的数目不匹配表定义。
相反,如果我们写如下语句
INSERT INTO TabellaLettere(第一,第二,第三)VALUES('A','B','C')
被添加到表,即使一个或多个列,它将继续获得成功。