SQLServer 最常用的索引字段(通用索引字段)
一、SQLServer 通用索引字段
1、Primary Key's 主键
2、Foreign Key's 外键
3、支持SELECT、INSERT、UPDATE和DELETE命令的字段 :
(1)、INNER JOIN
(2)、RIGHT | LEFT OUTER JOIN
(3)、WHERE
(4)、ORDER BY
(5)、GROUP BY
(6)、HAVING
二、创建索引的其他因素(主要因素都因为索引是数据表外部独立的组织,当表中的数据发生变化时,索引也需要同步维护,这将影响数据表的更新操作的效率):
1、数据量——如果记录行数很少,不必建立索引就能快速访问
2、数据变动频率——如果表中的数据变动频繁(INSERT、UPDATE和DELETE操作)每次变动,索引都要增加维护的开销,我们建立索引应该考虑到数据变动的趋势,例如:bbs中的发帖,这张表的新数据是按照创建时间排列的,所以按照创建时间建立的索引,在添加新数据时,维护索引的开销是最低的
3、尽量创建瘦索引——如果你不能确定索引数量,那么就每个索引用一个字段就好了,除非频繁的对某一组字段进行查询,否则没有必要建立胖索引
相关文档:
在Google上使用“sql 分页”关键字进行搜索,几乎所有的答案都是那三条。其二效率最高,其三使用游标,效率最差。
下面是那三种方法 (插入代码没有sql选项)
方法1:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 *
from table1
WHERE ......
SQLServer 中含自增主键的表,通常不能直接指定ID值插入,可以采用以下方法插入。
1. SQLServer 自增主键创建语法:
identity(seed, increment)
其中
seed 起始值
increment 增量
示例:
create table student(
id int identity(1,1),
name varcha ......
/*用CASE WHEN实现sqlserver数据库的分类汇总功能*/
/*例1:统计个数*/
/*表结构
id cityid major
1 1 A
2 1 B
3 2 ......
SQLServer任意列之间的聚合 收藏
sql的max之类的聚合函数只能针对同一列的n行运算,如果对n列运算,一般都用case 语句来判断,如果列少还比较容易写,列多了就麻烦了。这里介绍一个通过xml合并列并转为行集后直接用聚合函数求值的方法,测试用例和代码如下
----------------------------------------------------------- ......
SQLSERVER--一些经典问题总结
2007-04-01 01:04:06
大中小
/**********************************/
--获得某一天所在年的第一天
declare @a datetime,@b datetime,@sum int,@num int,@res varchar(20)
select @a='1-6-1968'
select @b='2006-4-8'
select @sum=year(@a)
select @res=ltrim(cast(@sum as ......