SQL效率提升之一些SQL编写建议并有效利用索引

1.日期属性列,不会因为有分秒差别而减慢查询速度

2. 使用LIKE比较进行查询时,如果模式以特定字符串如“abc%”开头,使用索引则会提高效率;如果模式以通配符如“%xyz”开头,则索引不起作用

3. OR会引起全表扫描,且和IN的作用相当

4. 尽量少用NOT

5. EXISTS 和 IN的执行效率是一样的

6. 用函数charindex()和前面加通配符%的LIKE执行效率一样

7. UNION并不绝对比OR的执行效率高

8. 字段提取要按照“需多少、提多少”的原则,避免“SELECT *”

9. COUNT(*)不比COUNT (字段)慢

10. ORDER BY按聚集索引列排序效率最高

11. 多用“TOP”进行数据提取,可提高效率

时间: 2024-09-28 06:51:33

SQL效率提升之一些SQL编写建议并有效利用索引的相关文章

SQL效率提升之一些SQL编写建议并有效利用索引_MsSql

1.日期属性列,不会因为有分秒差别而减慢查询速度 2. 使用LIKE比较进行查询时,如果模式以特定字符串如"abc%"开头,使用索引则会提高效率:如果模式以通配符如"%xyz"开头,则索引不起作用 3. OR会引起全表扫描,且和IN的作用相当 4. 尽量少用NOT 5. EXISTS 和 IN的执行效率是一样的 6. 用函数charindex()和前面加通配符%的LIKE执行效率一样 7. UNION并不绝对比OR的执行效率高 8. 字段提取要按照"需多少

SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)

原文:SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行) 前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲言少叙,进入本篇的内容. 技术准备 数据库版本为SQL Server2012,利用微软的以前的案例库(Northwind)进行分析,部分内容也会应用微软的另一个案例库AdventureWorks. 相信了解S

智能SQL优化工具--SQL Optimizer for SQL Server(帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句 )

原文:智能SQL优化工具--SQL Optimizer for SQL Server(帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句 ) SQL Optimizer for SQL Server 帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句   SQL Optimizer for SQL Server 让 SQL Server DBA或者T-SQL开发人员能够主动地识别潜在的SQL性能问题,通过扫描和分析SQL语句进行人工智能自动SQL优化.Dell SQL Opt

代码-这两个查询哪个SQL效率高一些???

问题描述 这两个查询哪个SQL效率高一些??? --第一个SELECT emp.* FROM emp(SELECT AVG(sal) semp.deptno FROM empdept WHERE emp.deptno=dept.deptno GROUP BY emp.deptno)a WHERE emp.deptno=a.deptno AND emp.sal>a.s; --第二个SELECT * FROM emp a WHERE a.sal>(SELECT AVG(sal) FROM emp

数据-sqlserver 多个窗口执行sql效率问题

问题描述 sqlserver 多个窗口执行sql效率问题 sqlserver 现在在做数据补传,从一台服务器的数据复制到另一台服务器,这个窗口只是充当一个客户端的功能,现在数据量太大,想提高效率,如果我在一个窗口执行一个sql语句,再打开另外一个窗口执行另一个表的sql语句,执行效率会不会提高?

利用索引提高SQL Server数据处理的效率

在良好的数据库设计基础上,能有效地使用索引是SQL Server取得高性能的基础,SQL Server采用基于代价的优化模型,它对每一个提交的有关表的查询,决定是否使用索引或用哪一个索引.因为查询执行的大部分开销是磁盘I/O,使用索引提高性能的一个主要目标是避免全表扫描,因为全表扫描需要从磁盘上读表的每一个数据页,如果有索引指向数据值,则查询只需读几次磁盘就可以了.所以如果建立了合理的索引,优化器就能利用索引加速数据的查询过程.但是,索引并不总是提高系统的性能,在增.删.改操作中索引的存在会增加

利用索引提高SQL Server数据处理效率

在良好的数据库设计基础上,能有效地使用索引是SQL Server取得高性能的基础,SQL Server采用基于代价的优化模型,它对每一个提交的有关表的查询,决定是否使用索引或用哪一个索引.因为查询执行的大部分开销是磁盘I/O,使用索引提高性能的一个主要目标是避免全表扫描,因为全表扫描需要从磁盘上读表的每一个数据页,如果有索引指向数据值,则查询只需读几次磁盘就可以了.所以如果建立了合理的索引,优化器就能利用索引加速数据的查询过程.但是,索引并不总是提高系统的性能,在增.删.改操作中索引的存在会增加

利用索引来提升SQL Server视图的运行性能(二)

二是如果视图中包含Group By语句的话,在最好不要采用索引视图.虽然Group By语句需要对数据进行聚合操作.但是他是高基数度的数据聚合.高基数度表示健包含许多不同的值.如需要采用Group By语句对数以万计的用户数据进行分组,则这个分组对象的数值会很大.这个用户的数量就是基数度.唯一键具有可能的最高基数度,因为每个键具有不同的值.索引视图通过减少查询必须访问的行数来提高性能.如果视图结果集中的行数像基表中的行数那么多,那么使用视图获得的性能收益微乎其微. 三. 索引视图的几个典型应用.

Sql server优化:LECCO SQL Expert

SQL语句的优化是将性能低下的SQL语句转换成目的相同的性能优异的SQL语句. 人工智能自动SQL优化就是使用人工智能技术,自动对SQL语句进行重写,从而找到性能最好的等效SQL语句. 数据库性能的优化 一个数据库系统的生命周期可以分成:设计.开发和成品三个阶段.在设计阶段进行数据库性能优化的成本最低,收益最大.在成品阶段进行数据库性能优化的成本最高,收益最小. 数据库的优化通常可以通过对网络.硬件.操作系统.数据库参数和应用程序的优化来进行.最常见的优化手段就是对硬件的升级.根据统计,对网络.