SQL查询的效率
来源:互联网 发布:vb.net 连接sql数据库 编辑:程序博客网 时间:2024/05/18 01:10
1、关于in 与not in
一般在用于子查询时,用in或not in时,以小表查大表的模式,大表的相关字段设好索引,速度比较快,读操作较少,费时也低。如:
select * from 小表 where ID in (select 大表中的字段 from 大表)
如果反之,用大表查小表时,读操作是上百倍,费时高。
需要注意的是,至少是在sql server2005中,在设置好索引后,in 与exists的效率比较,似乎没有区别!这可能是自动优化了in查询,甚至可能是转化成更有效率的语句有关。如:
A:SELECT 小组编码,小组名称
FROM 小组表 where exists (select * from 登记表 where 登记表.小组=小组表.小组编码 )
B:SELECT 小组编码,小组名称
FROM 小组表 where 小组编码 in (select 登记表.小组 from 登记表)
二者的reads居然一致为69,费时同为5。其中,登记表记录为12万条,小组表记录30条。小组字段为索引。
2、关于索引
表大了后,最好设置索引。特别是在一些重复性较高的字段上设置索引后,查询速度相差极大,高时差几十倍。如户籍管理中,所属县、所属乡镇等字段上。
反而是只有几十条、几百条记录的小表上,设置索引未必提高效率,甚至有时还降低许多。
3、表变量建主键
declare @tab_sa table (
ID int IDENTITY(1,1) NOT NULL,
CD char(8)
,NAME nvarchar(25)
primary key(id)
)
- SQL查询的效率
- SQL 查询的效率
- SQL查询效率的讨论
- 提高SQL查询的效率
- 提高SQL的查询效率
- 提高SQL的查询效率
- 提高SQL的查询效率
- 如何提高SQL语言的查询效率?
- 如何提高SQL语言的查询效率!
- 如何提高SQL语言的查询效率
- 提高SQL查询效率的常用方法
- 提高sql语句查询效率的方法
- 提高SQL查询效率的方法
- 如何提高sql查询的效率
- 提高SQL查询效率的常用规则
- 怎样提高sql语句的查询效率
- SQL提高查询效率
- SQL查询优化效率
- 12.14.2JScrollPane
- 罗列下自己做过的工作
- SqlServer 刨根问底 之(一): Schemas
- C++数组参数应用方式探讨(转)
- 使用Initramfs或yaffs2作为根文件系统启动成功,但是Ramdisk作为根文件系统有问题
- SQL查询的效率
- 是拒绝盗版的时候了
- CentOs系统鉴权从NIS改为LDAP后,autofs在CenOS 4和CentOS 5之间的小区别
- []RedHat9安装全程图解]
- 史上最牛电视机修理费
- 毕业生如何学好软件设计与开发技术
- eclipse快捷键检索(积累)
- MIME 参考手册
- ZOJ1984:genetic code 遗传编码 题解 C