标签:sql 经典
本篇博文基于SQL SERVER而写.
1 , 关于分页代码 :
Select * from TableA Select top pageCount * from TableA where id not in ( select top ( pageIndex - 1 ) * pageCount id from TableA )
注解 : 有的时候 , 我们不希望一下子从数据库中取出所有的数据进行分页 , 因为这样 , 会让客户等待很长的时间.所以 , 以上的SQL代码(分段取数据)是一个良策.
pageCount : 表示一页有几条数据
pageIndex : 表示这是第几页 (从1开始计)
TableA : 表的名字
核心思想 : 把前面(Top)全部排除掉 , 再用top取数据 --- not in 是关键
2 , 关于索引碎片处理 :
select * from sys.dm_db_index_physical_stats( DB_ID() , OBJECT_ID( ‘TableA‘ ), null , null , default ) select * from sys.indexes where object_id = OBJECT_ID(‘TableA‘)
关于这两先发个图片 : 我的测试
关键看 : avg_fragmentation_in_percent
当其 < 10 时 , 也就是10% . 则没有必要进行处理
当其 >= 10 , < 30时 , 对表进行"组织"处理
当其 >= 30时 , 对表进行"重生成"处理
组织处理:
Alter index idx_idCard on TableA REORGANIZE
重生成处理:
Alter index idx_idCard on TableA REBUILD
关键就是 两个单词:
3 , 关于链接对象池
这其实是C#方面的 , 写在这里吧
在数据库连接字符串的后面加上
Pooling = true ; Connection Lifetime = 50 ; Min Pool Size = 1 ; Max Pool Size = 3;
解释 :
Pooling = true 打开对象池
Connection Lifetime = 50 生命周期
本文出自 “Better_Power_Wisdom” 博客,请务必保留此出处http://aonaufly.blog.51cto.com/3554853/1615549
标签:sql 经典
原文地址:http://aonaufly.blog.51cto.com/3554853/1615549