码迷,mamicode.com
首页 > 数据库 > 详细

经典SQL整理

时间:2015-02-27 01:32:09      阅读:160      评论:0      收藏:0      [点我收藏+]

标签: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整理

标签:sql 经典

原文地址:http://aonaufly.blog.51cto.com/3554853/1615549

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!