sql in优化
客户反映程序很慢,开始以为数据量大,在表中查询使用的字段上,添加了索引,没有明显的效果,检查时发现以前的同事在sql server中写的函数中使用了in,而在in的结果集中会有2500条记录左右,执行时间需要13秒。找到问题根源,
修改方法: 把in后面的子查询作为一个表和主表关联,添加限制条件。
原来写法: select * from a where a.id in (select bid from b)
修改后写法: select a.* from a, b where a.id=b.bid
修改后执行时间为1秒。
所以,在使用in的时候,一定要考虑后面的集合到底有多大。如果很大,尽量不要使用in。
相关文档:
1:exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '192.168.*.12'
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, 'sa ', 'F00000'
2:
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', ......
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言
(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言
(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言
(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数 ......
SQL Server 索引结构及其使用(二)
作者:freedk
一、深入浅出理解索引结构
改善SQL语句
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:
select * from table1 where name=''zhangsan'' and tID > 10000
和执行:
select * from table1 where tID ......
SQL Server 索引结构及其使用(四)
作者:freedk
一、深入浅出理解索引结构
二、改善SQL语句
三、实现小数据量和海量数据的通用分页显示存储过程
聚集索引的重要性和如何选择聚集索引
在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办 ......