面试:sql如何提高效率

面试:提高SQL效率:
1.关键字 varchar/nvarchar 代替 char/nchar, not in 或in改用 not exists union all的执行效率要比 union高

1.对于表格建立,关键常用字段建立索引,varchar/nvarchar 代替 char/nchar 2.分页查询,使用字句或者连接 join on 3.过滤多的条件放最前面
4. 应尽量避免在 where 子句中使用!=或<>操作符,否则引擎将放弃使用索引 ,尽量少用子查询
5. not in 或in改用 not exists来代替 ??? 6.insert 语句集中起来处理,where子句少用运算、函数
7. union all的执行效率要比sql union效率要高很多,使用sql union需要进行排重

删除操作:1.验证参数有效性, 删除关系数据,删除自身数据

原文地址:https://www.cnblogs.com/robinAndLaurel/p/9798647.html

时间: 2024-08-03 13:34:44

面试:sql如何提高效率的相关文章

格式化 SQL 来提高效率

本文由 伯乐在线 - cucr 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:msiman.ga.欢迎加入翻译小组. 背景 已格式化的SQL并不比未格式化SQL运行地更快.数据库可能真的不太在意你是否把逗号放在每个字段名称的前面或后面.为帮助你更理智和成为一名高效的SQL编写者,我建议你遵循一些格式化的指导方针.在这篇文章里,我将分享如何格式化SQL语句来提高工作效率.我对生产力这样定义,能够从SQL得到准确的结果,同时代码容易理解,修改和调试.我只会专注于SELECT语句,它占到我编写SQ

提高SQL Server数据库效率常用方法

1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有优化 ●可以通过如下方法来优化查询 : 1.把数据.日志.索引放到不同的

提高SQL的查询效率

原文地址:http://www.cnblogs.com/rollenholt/p/3691594.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 1 select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: 1 select

提高SQL语句查询效率

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放

SQL应用与开发:(九)提高效率的索引

在数据库中,索引是一个特殊的对象,是一种可以加快数据检索的数据库结构,它可以从大量的数据中迅速找到需要的内容,使得数据查询时不必检索整个数据库.索引是一种基于表中数据的对象,与视图不同,索引需要占用物理存储.使用数据库的索引,使我们能够较快的查询数据. 1.简介 索引是表示数据的一种方式,它提供的数据顺序不用于数据在磁盘上的物理存储顺序.索引基于表的一列或多列组合建立,在表内重新排列记录的物理位置.当使用索引时,数据是以分类排序的方式提供给用户的,排列顺序可以用创建索引语句控制.通常,通过在正确

sql的简单提高效率方法

少用in操作(效率极差),尽量用表关联代替 尽量有where(减少读取量),where操作列尽量有索引(加快查询) (mysql索引使用B-Tree数据结构对特定列额外组织存放,加快存储引擎查找记录的速度,不需回表查询数据的就是聚簇索引(索引和数据存放在一起).通常是需要回表再查数据,需要消耗额外的磁盘IO.) 主键是特殊的唯一索引(不含null),唯一索引更好用 复合索引设计合理,比多列索引强.因为多列索引在where中引用时,列顺序非常重要,要满足最左前缀列,左边优先,不一定能构建合理的索引

SQL语句执行效率及分析(note)

1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比较两种查询的性能 SQL查询效率 step by step -- setp 1.-- 建表create table t_userinfo(userid int identity(1,1) primary key nonclustered,nick varchar(50) not null defa

几种常见SQL分页方式效率比较-转

原文地址:几种常见SQL分页方式效率比较 分页很重要,面试会遇到.不妨再回顾总结一下. 1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTestuse DBTest --创建测试表create table pagetest(id int identity(1,1) not null,col01 int null,col02 nvarchar(50) null,col03 datetime null) --1万记录集declare @i intset

SQL Server 并行操作优化,避免并行操作被抑制而影响SQL的执行效率

为什么我也要说SQL Server的并行: 这几天园子里写关于SQL Server并行的文章很多,不管怎么样,都让人对并行操作有了更深刻的认识. 我想说的是:尽管并行操作可能(并不是一定)存在这样或者那样的问题,但是我们不能否认并行,仍然要利用好并行. 但是,实际开发中,某些SQL语句的写法会导致用不到并行,从而影响到SQL的执行效率 所以,本文要表达的是:我们要利用好并行,不要让一些SQL的写法问题“抑制”了并行,让我们享受不了并行带来的快感 关于SQL Server的并行: 所谓的并行,指S