`
zyz
  • 浏览: 25060 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

设计select语句时影响效率查询的15个情况

 
阅读更多
没有创建索引,或者没有正确使用索引;
存在死锁的情况,从而导致select语句挂起;
返回不必要的列,如很多人喜欢在程序中使用select * from 这样会查询表或视图中的所有字段,如果表或视图的数量比较大时候,就会浪费系统资源,应该只要返回必要的列
在select语句中使用where子句,限制返回的记录数
使用TOP关键字,限制返回的记录数
在使用like关[size=x-small]
键字的时候需要注意通配符的使用方法
慎用union关键字,因为它会影响到查询的效率
慎用Distinct关键字,因为在结果集中的重复记录并不会影响到查询的效率,相反则需要消耗相应的资源去过滤重复记录,除非必须如此,不要使用此关键字
如果需要经常对表中的数据进行统计,可以在表中增加一个统计字段,每次表中的数据发生变化的时候,动态更新统计字段。这样,在查询统计结果时,就不需要临时对表中的数据进行统计计算了
如果需要多次对一个数据量非常大的表中的一部分数据进行查询操作,可以将这部分数据保存到临时表中,然后对临时表进行查询操作,并且可以根据需要在临时表中增加索引
在where子句中使用BETWEEN关键字比IN要快,因为IN关键字对其后面的集合中的每一个元素都进行比较,如果必须使用IN关键字,则可以将频繁使用的值放在集合的前面,从而减少比较的次数
尽量少使用视图,特别是嵌套视图,可以直接从表中获取数据。在开发中,有人为了方便,设计一个包含很多字段的大视图,这样无论查询什么字段都从此视图中取。实际上,最好从表中直接获取数据,一面查询大视图而造成的系统的开销。建议用存储过程取代视图,从而提高执行效率
如果不要排序,尽量不要使用order by语句,这也会增加开销
不要在where语句中=的左侧使用函数火表达式,英文系统将无法应用函数或表达式中的索引
当判断表中是否包含记录时,使用EXISTS关键字,而不要使用count统计表中所有的记录数数量
               转自http://blog.sina.com.cn/s/blog_67616b4b0100of74.html [/size]
分享到:
评论

相关推荐

    子查询是指一条SELECT语句作为另一条SELECT语句的一部分,外层的SELCT语句称为外部查询,内层的SELECT语句称为内部查询(或子查询)

    具体而言,外层的SELECT语句被称为外部查询,而内层的SELECT语句则被称为内部查询(或子查询)。子查询可以根据其执行逻辑进一步分为嵌套子查询和相关子查询。 #### 二、嵌套子查询详解 **1. 嵌套子查询的概念** ...

    数据库设计(包括select语句、子查询、语句嵌套)

    在本话题中,我们将探讨数据库设计的基础,特别关注SELECT语句、子查询以及语句嵌套这三个核心概念。 首先,数据库设计不仅仅是创建表格,更重要的是理解和分析业务需求,以构建一个能够支持高效数据存储、检索和...

    select语句性能优化小结

    当涉及的数据表数量庞大时,不恰当的查询方式可能导致全表扫描,极大地影响系统响应速度。以下是一些针对SELECT语句优化的关键点: 1. **建立索引**:在WHERE子句和ORDER BY涉及的列上创建索引可以显著提高查询速度...

    SELECT 语句对齐工具

    "SELECT 语句对齐工具"正是为此目的而设计的实用工具,它能够自动格式化和对齐SQL查询,使代码看起来更专业、更易于理解。 `SELECT`语句的基本结构通常包括以下几个部分: 1. **SELECT关键字**:查询的起始点,...

    sql中的select语句查询介绍

    SQL中的`SELECT`语句是用于从数据库中检索数据的核心命令,它的功能强大且灵活,适用于各种复杂的数据查询场景。...在设计和编写SQL查询时,应考虑移植性、效率和可读性,以确保代码的质量和维护性。

    ABAP select 语句

    内联接是SELECT语句中用于从多个表中获取数据的常见方式,它返回两个表中满足特定条件的匹配行。语法如下: ```sql SELECT ... FROM <tab> [INNER] JOIN <dbtab> [AS ] ON ``` `<tab>` 是要查询的第一个表...

    如何提高SQL语句的查询效率.pdf

    总之,为了提高SQL语句的查询效率,需要对索引进行优化设计,合理编写Select语句,并利用数据库提供的工具分析和改进SQL语句的性能。通过这些方法,即便在数据量庞大的环境中,也能保证查询效率,从而满足系统对于...

    用SELECT语句查询记录SQLServer程序设计语言PPT课件.pptx

    【SQL Server程序设计语言】中的SELECT语句是用于从数据库中检索数据的核心工具。本课件详细介绍了如何使用SELECT语句及其相关子句来高效地查询记录。 在SQL Server中,SELECT语句的基本结构如下: ```sql SELECT ...

    在SELECT语句中调用DML函数

    综上所述,虽然在SELECT语句中调用DML函数看似违反了SQL语言的传统设计原则,但通过合理利用PL/SQL函数的特性,特别是在函数中使用`pragma autonomous_transaction`声明,可以使这种做法成为可能。这不仅拓展了SQL...

    SQL语句中SELECT语句的执行顺序

    ### SQL语句中SELECT语句的执行顺序 在SQL语言中,`SELECT`语句是进行数据查询的核心工具。为了确保查询结果的准确性和效率,理解`SELECT`语句内部的执行顺序至关重要。本文将详细解析`SELECT`语句各子句的执行...

    C#演示视图在Select查询语句中的应用

    7. 性能考虑:虽然视图提供了便利,但过度使用视图可能影响性能,因为它们不存储数据,每次查询时都需要执行其背后的SELECT语句。因此,应合理设计视图,避免在复杂查询中使用视图,或者考虑物化视图(Materialized ...

    SQL语句高级查询

    - **子查询(Subquery)**: 子查询是在一个SELECT语句中嵌套另一个SELECT语句,用于获取内部查询的结果作为外部查询的条件。例如,在查找速度至少为180赫兹的PC机的厂商时,首先从`pc`表中筛选出符合条件的型号,再...

    设计高效合理的MySQL查询语句

    在设计高效合理的MySQL查询语句时,关注查询性能至关重要,因为查询操作在数据库操作中占据了主要部分,而SELECT语句的执行成本最高。随着数据量的增加,全表扫描会导致查询时间显著增长,可能需要数十分钟甚至数...

    SQL查询语句转换成图结构的算法设计与实现.pdf

    SQL子句是从一个特定的关键字始下一个特定的关键字(或末尾)的SQL查询语句子串,特键字包括“SELECT”、“FROM”、“WHERE”、“ORDER”、“GROUP”、“JOIN”、“HAVING”和“LIMIT”。我们可以将SQL查询语句中的...

    可视化sql查询语句生成器

    可视化SQL查询语句生成器是一种高效且用户友好的工具,专为那些不熟悉或不习惯编写SQL代码的用户设计。这种工具通常具有图形用户界面(GUI),允许用户通过直观的界面来构建复杂的查询,而无需直接输入SQL命令。在...

    SQL查询语句生成器

    - 自动化查询:用户只需选择表格和条件,生成器会自动构造SELECT语句。 - 参数化查询:支持用户输入参数,避免SQL注入攻击。 - 复杂查询支持:包括JOIN操作、子查询、聚合函数等高级查询功能。 - 结果预览:在...

    基于SQL查询语句的查询优化方法.pdf

    对于使用多个条件进行查询的情况,应该将强过滤条件放在查询的前面,这样的查询设计可以更快地筛选出满足条件的数据,减少不必要的数据处理,提高查询效率。 查询优化的另一项重要技术是使用嵌套查询。嵌套查询是将...

    sqlserver如何快速查询死锁语句

    在SQL Server数据库管理系统中,死锁是一个常见的性能问题,它发生在两个或多个事务相互等待对方释放资源,导致它们都无法继续执行。死锁不仅影响数据库的正常运行,还可能导致数据一致性问题。本文将详细介绍如何在...

    数据库sql查询语句练习3_习题_结果(单世民)仓库_习题[归纳].pdf

    本资源摘要信息提供了一个数据库 SQL 查询语句练习,包括创建表、插入数据、单表查询和复杂查询等多个方面的知识点。 创建表(DDL) 在数据库中,创建表是最基本的操作之一。创建表需要使用 CREATE TABLE 语句,...

    二级VFP应试策略及SELECT—SQL语句详解.pdf

    * 子查询:使用子查询可以在SELECT语句中嵌套其他SELECT语句,实现复杂的数据提取。 * 连接查询:使用连接查询可以将多个表连接起来,实现数据的汇总和分析。 * 分组和聚合函数:使用分组和聚合函数可以实现数据的...

Global site tag (gtag.js) - Google Analytics