分页存储

【Hyper-V】虚拟机网络配置全解析:从端口映射到固定IP实战 本文全面解析Hyper-V虚拟机网络配置,从理解虚拟交换机三种模式(外部、内部、专用)的底层逻辑入手,指导用户创建稳定的内部/NAT网络,并详细演示如何在Linux与Windows虚拟机中配置固定IP。文章进一步深入讲解端口映射原理与netsh命令实战,以及双网卡配置和PowerShell自动化脚本等高级技巧,帮助用户彻底解决虚拟机网络“失联”问题,实现灵活可控的网络环境。 阅读详情

Create PROCEDURE page 
@tblName  varchar(255),         -- 表名 
@strGetFields varchar(1000) = '*',    -- 需要返回的列  
@fldName varchar(255)='',        -- 排序的字段名 
@PageSize     int = 10,            -- 页尺寸 
@PageIndex    int = 1,             -- 页码 
@doCount    bit = 0,     -- 返回记录总数, 非 0 值则返回 
@OrderType bit = 0,    -- 设置排序类型, 非 0 值则降序 
@strWhere    varchar(1500) = ''    -- 查询条件 (注意: 不要加 where) 
AS 
declare @strSQL     varchar(5000)         -- 主语句 
declare @strTmp     varchar(110)          -- 临时变量 
declare @strOrder varchar(400)          -- 排序类型 

if @doCount != 0 
    
begin 
      
if @strWhere !='' 
      
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where '+@strWhere 
      
else 
      
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end   
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况 
else 
begin 
if @OrderType != 0 
begin 
      
set @strTmp = '<(select min' 
set @strOrder = ' order by [' + @fldName +'] desc'
--如果@OrderType不是0,就执行降序,这句很重要! 
end 
else 
begin 
      
set @strTmp = '>(select max'
      
set @strOrder = ' order by [' + @fldName +'] asc' 
end 
if @PageIndex = 1 
begin 
      
if @strWhere != ''    
      
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '    from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder 
       
else 
       
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '    from ['+ @tblName + '] '+ @strOrder 
--如果是第一页就执行以上代码,这样会加快执行速度 
end 
else 
begin 
--以下代码赋予了@strSQL以真正执行的SQL代码 
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '    from [' 
      
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'+ @strOrder 

if @strWhere != '' 
      
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '    from [' 
          
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '([' 
          
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' 
          
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' ' 
          
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder 
end  
end    

exec (@strSQL) 

GO 
 


 

private string strConn = ConfigurationSettings.AppSettings["db_11"]; 
public int recordNum; // 记录数 
public int pageIndex; // 目前所在页 
public int pageNum; // 总页数 
public int pageEach = 8; // 每页记录数 
private void Page_Load(object sender, System.EventArgs e) 
{ 
// 在此处放置用户代码以初始化页面 
pageIndex 
= Convert.ToInt32(Request.QueryString["pageIndex"]); 
// 绑定 
DataSet ds 
= new DataSet(); 
string strSQL = "exec GetData '表','字段','条件','排序字段','升序/降序','" + pageEach + "','" + pageIndex + "','0'"; 
SqlDataAdapter cmd 
= new SqlDataAdapter(strSQL,strConn); 
cmd.Fill(ds); 
parent.DataSource 
= ds.Tables[0].DefaultView; 
Page.DataBind(); 

// 总页码 
strSQL = "exec GetData '表','','条件','','','','','1'"; 
BaBaoDB db 
= new BaBaoDB(); 
SqlDataReader reader 
= db.SelectReader(strSQL); 
if(reader.Read()) 
{ 
     recordNum 
= Convert.ToInt32(reader[0]); 
     if(recordNum == 0) 
   { 
   // 无记录的情况 
     pageNum = pageIndex;
     } 
   else 
   { 
     if(recordNum % pageEach == 0) 
       { 
             pageNum 
= recordNum / pageEach; 
        } 
     else 
        { 
            pageNum 
= recordNum / pageEach + 1; 
         } 
    } 
  } 
else 
{ 
      pageNum 
= pageIndex; 
} 
reader.Close(); 
}

 
 

 ******************************************

 

在ms sql server 中,可以充分利用存储过程进行分页的优化,下面是一个不错的例子,其中充分利用了
set rowcount的功能。存储过程中,可以向@startrowindex传入第N页的页码,@maximumrow是每页的记录条数

CREATE PROCEDURE [usp_GetProducts] 

@startRowIndex int,
@maximumRows int, 
@totalRows int OUTPUT

AS

DECLARE @first_id int, @startRow int

SET @startRowIndex =  (@startRowIndex - 1)  * @maximumRows+1

 

SET ROWCOUNT @startRowIndex
SELECT @first_id = ProductID FROM Products ORDER BY ProductID
PRINT @first_id
SET ROWCOUNT @maximumRows
SELECT ProductID, ProductName FROM Products WHERE 
ProductID 
>= @first_id 
ORDER BY ProductID
SET ROWCOUNT 0
-- GEt the total rows 
SELECT @totalRows = COUNT(ProductID) FROM Products
GO
 

 

--分页存储过程(效率高,试过100万的数据,游标分页)
CREATE procedure cursorPage
@sqlstr   nvarchar(4000),   --查询字符串  
  @currentpage   int,   --第N页  
  @pagesize   int   --每页行数  
  as  
 
set   nocount   on  
 
declare   @P1   int,   --P1是游标的id  
    @rowcount   int  
 
exec   sp_cursoropen   @P1   output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount   output  
 
select   ceiling(1.0*@rowcount/@pagesize)   as   总页数,@rowcount   as   总行数,@currentpage   as   当前页    
 
set   @currentpage=(@currentpage-1)*@pagesize+1  
 
exec   sp_cursorfetch   @P1,16,@currentpage,@pagesize    
 
exec   sp_cursorclose   @P1  
 
set   nocount   off  

GO

--调用:示例exec cursorPage 'select * from dingdan','1','10' 

一文看懂 SAP Integration Suite:从架构治理、接口编排到事件驱动的集成全景 SAP Integration Suite是企业数字化转型中的关键集成平台,通过统一的方法论和工具链解决系统互联、数据对齐和流程协同等复杂问题。其核心能力包括:1)集成评估(Integration Assessment)提供战略规划框架;2)迁移评估(Migration Assessment)支持从传统平台向云的平滑过渡;3)云集成(Cloud Integration)实现日常业务流程编排;4)集成顾问(Integration Advisor)简化B2B标准映射;5)贸易伙伴管理(TPM)优化外部协作流程; 阅读详情

相关推荐

LangChain入门(二)-通过 Google 搜索并返回答案

并复制他给我们生成 api key。(博主使用了GitHub账号登录)-邮箱验证-手机号验证-订阅-api-key。Serpapi 提供了 google 搜索的 api 接口。首先需要我们到 Serpapi 官网上注册一个用户,

Good Luck 1万+

一个分页存储过程。

CREATE PROCEDURE SSO_MyPager@tblName   varchar(255),       -- 表名@strGetFields varchar(1000) = *,  -- 需要返回的列 @fldName varchar(255)=,      -- 排序的字段名@PageSize   int = 10,          -- 页尺寸@Pa

tlty的专栏 594

如何使用C#自带的GDI+双缓冲类BufferedGraphics实现双缓冲功能

小白摸索着编写一个上位机界面,将遇到的问题及解决方法记录下,以供后来的小白使用哈。这篇文章解决的问题是在绘图时候的闪烁问题。其中网上有些介绍的设置控制方式controlstyle的方法,这个方法我的理解是比较适合于在一个完整的窗口当中绘图。如果要在一个窗口当中的内部容器或者控件内画图的话就不太适合,通常按照前述的方法设置后没有任何效果。对于在窗口内部的绘图的来说,比较有效的方法是在内存当中开辟一块

z20110411的博客 4795

高效的存储过程分页代码

CREATE PROCEDURE pagination @tblName varchar(255), -- 表名 @strGetFields varchar(1000) = '*', -- 需要返回的列 @fldName varchar(255)='', -- 排序的字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @doCount bit = 0, -- 返回记录总数, 非 0 值则返回 @OrderType bit = 0,

mike0807的专栏 490

线上专利申请(超详细)| 签名确认

在【法人登录】页面点击【证书登录】按钮,弹出证书登录提示框,点击【确 认】按钮,进入到输入证书密码页面,点击【取消】按钮,取消本次操作。企业在提交申请时,需要增加签名,如使用企业账户点击提交,会弹出“法人、代理机构不能签名,请使用经办人签名”,这个时候就需要换个账号了。在需要签名时,将专利官网的登录方式点击法人登录,选择扫码登录,使用移动端经办人账户的扫一扫功能扫描登录。登录完成后,再点击签名,使用移动端扫一扫功能,扫描签名,输入证书号,确认签名,并提交。最后,祝大家的申请都成功!

weixin_62112323的博客 9112

Centos7.6操作系统安装+Bond配置(600GB磁盘版本)

1.安装前准备工作 准备centos7.6操作系统镜像 CentOS-7-x86_64-DVD-1810.iso 服务器安装一般都是在BMC界面操作,所以安装前需要在BMC界面挂载好操作系统镜像 重启服务器后自动进入安装界面。 华为大数据集群安装操作系统配置

小时光 6010

分页存储过程示例

create PROCEDURE Sp_Conn_Sort ( @tblName   varchar(255),       -- 表名 @strGetFields varchar(1000) = '*',  -- 需要返回的列 @fldName varchar(255)='',      -- 排序的字段名 @PageSize   int = 40,          -- 页尺寸

mengyulove的专栏 296

PLC1200使用CB1241RS485通讯模块做从站进行Modbus Rtu通信

添加新设备(PLC)->设备和网络管理->点击PLC->看到硬件目录选择通信板->点到点->CB1241(RS485)->看到6ES7241-1CH30-1XB0选择添加,如图。指向Modbus保持寄存器数据块的指针 我这里指向了自定义的DB块数据中一个INT数组。在通信->通信处理模块->MODBUS(选择不带RTU的通信指令块)注意:接线时,TRA接485调试模块的B- TRB接调试模块的A+组态后的硬件标识符 270 对应自己组态后自动生成的。1:事务完成,且无任何错误。波特率对应自己使用的。

swmyaopeng的博客 2万+

使用存储过程获取分页数据的Sql代码

CREATE PROCEDURE [dbo].[PR_ListPage]      @tblName      varchar(255),       -- 表名          @OrderName      varchar(255),       -- 排序字段名      @Fields       varchar(1000) = ' * ',      -- 返回的字段的集合  

litdwg的学习轨迹 1038

Python爬虫-爬取猫眼演出数据

本文是该专栏的第53篇,后面会持续分享python爬虫干货知识。猫眼平台除了有影院信息之外,它还涵盖了演出信息,比如说“演唱会,音乐节,话剧音乐剧,脱口秀,音乐会,戏曲艺术,相声”等等各种演出相关信息。而本文,笔者将以猫眼平台为例,基于Python爬虫实现获取各种演出信息的数据。废话不多说,具体细节部分以及详细思路逻辑,笔者将在正文结合完整代码进行详细说明。(附带完整代码)

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 568

昇腾AI原生创新算子挑战赛(S1赛季)复盘-LessEqual算子

【代码】昇腾AI原生创新算子挑战赛(S1赛季)复盘-LessEqual算子。

william_myq的博客 507

通用高效分页存储过程代码

-- 获取指定页的数据 CREATE PROCEDURE pagination@tblName varchar(255), -- 表名 @strGetFields varchar(1000) = *, -- 需要返回的列 @fldName varchar(255)=, -- 排序的字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页

大新软件老杨 1636

软件测试面试题之易错题

(1)白盒测试:又称功能功能 测试、数据驱动测试和行为测试,是一种从用户观点出发的测试,被测程序为黑盒子, 通过测试来检测每个功能是否能够正常使用。(2)黑盒测试:又称结构测试和逻辑驱动 测试,是知道产品内部工作过程,通过测试来检测产品内部动作是否按照规格说明书 的规定去正常运行。(1)、测试需求分析;(2)动态白盒测试:需要对各个模块功能、模块间的接口、局部数据结构、主要执行路径、 错误处理等方面的测试。(2) 集成测试所测试的对象是模块间的接口,其目的是在找出在模块接口上面,包括整体体系结构上的问题;

m0_37449634的博客 679

操作系统 分页存储

分页存储管理方式 一、分页管理存储方式可以解决“可用存储总容量足够大”但是“大作业不能运行”的情况 ① 把装入模块(即链接后的可执行程序)切分为一系列等长的片段,每个片段称为一个页面(页面长度为512B、1KB、2KB、4KB等,小于动态分区的很多碎片),页号依次为0、1、2、…,(具有n-1个页面的进程大小是多少字节) ② 也把系统物理内存划分为一系列等长的片段,每个片段称为一个物理块(或一个页帧),物理块长度与页面长度相同,块号为0、1、2、… ③ 用户程序运行时,操作系统将其各个页面装载到一系列任意

@@老胡的博客 3181

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

分页存储概述

物理地址和逻辑地址的页内偏移地址是一样的,只需要求出页号和物理块号之间的对应关系,首先需要求出页号的位数,得出页号,再去页表里查询其对应的物理块号,使用此物理块号和页内偏移地址组合,就能得到物理地址。页式存储就像是你把书先分成很多小页,然后你可以只把需要的那些页放在书架上,即使书非常长,你也可以只放需要的部分。就像是书上的页,页号相当于书上的页码,页内地址相当于页上的内容位置。与物理块号并非按序对应的,需要查询页表,才能得知页号对应的物理块号,再用物理块号加上偏移地址才得出了真正运行时的物理地址。

wlq_567的博客 429

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

存储器管理之分页存储

转自:https://blog.youkuaiyun.com/qq_38499859/article/details/81052662 一.概述 连续存储会产生许多的“碎片”,虽然“紧凑”方法可以将许多碎片拼接可以的大块空间,但需为之很大的开销。如果允许将一个进程直接分散的装入到许多不相邻的分区中,便可以充分利用内存空间。基于这一思想,产生了离散分配方法。根据在离散分配时所分配的地址空间的基本单位不同,将离散...

qq_32534441的博客 2518

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

LINQ 分页 和存储过程分页

存储过程分页 SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY CreateDate DESC) AS RowNo, EstateAddress, EstateCode, SurveyBy, CreateDate,QSName, QName, QDName FROM #QS_RESULT ...

weixin_30537391的博客 477

为什么要分页分段存储

首先说为什么会出现分页分段,如果我们直接使用物理内存直接存储的话,会因为并发的原因造成存储混乱,各个指令混杂存储,制造很多麻烦。 如何解决 解决这个问题通常有两种方法:一种通过基址寄存器和界线寄存器形成地址空间,通过交换技术解决内存超载。另外一种就是基于分页的虚拟地址技术。      1)交换技术:把一个进程完整调入内存运行一段时间,然后把他存回磁盘,空闲进程主要存储...

刘玉彬 廊坊师范学院信息技术提高班 十四期 1314

存储器管理之分页存储管理

引入 在动态分区的存储空间中,常常引入了“零头”问题。尽管采用“紧凑”技术可以解决这个问题,但要为移动大量信息花去不少的处理机时间,代价较高。分页存储管理系统的思想被提出了。 分页,是把主存存储空间按大小一定的块划分,称为物理块,或页框。同时按同样的尺寸去划分作业的地址空间,形成一个个相等的页面,称为逻辑页或虚页。因此,作业可以按页为单位,零散地放在主存的不连续的页框中。 如上图所示,作业的各个页面与页框的对应,就是通过页表来实现。 页面(page):在分页式系统中,把作业的地址空间划分成若干个大小相等的

学习日常分享 6246

分段分页存储

a)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要(也是对用户透明的)。段是信息的逻辑单位,它含有一组其意义相对完整的信息(比如数据段、代码段和堆栈段等)。分段的目的是为了能更好的满足用户的需要(用户也是可以使用的)。b)页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。...

weixin_45300669的博客 570

存储过程分页——单表分页,任意表分页,EF调用分页存储过程

一、单表分页 if exists(select * from sysobjects where name='proc_movies') drop proc proc_movies go create proc proc_movies @pagesize int --每页显示的条数 ,@pageindex int --页码 ,@count int output--输出总条数 ,@pagecount int output--输出总页数 as begin

hyx1229的博客 569

sql 存储过程分页

系统存储过程sp_depends这个存储过程专门用来查看一个数据库对象引用了哪些其它的数据库对象 比如要看一个存储过程用到了哪些表及字段,就可以写: exec sp_depends sp_procedure 如果是表名要加引号 exec sp_depends MyTable 同样可以检查触发器 这个存储过程对于检查一个存储过程是很方便的,我们使用它就可以看到存储过程

shuilv2000的专栏 730

分页存储的原理——非连续存储分配

为什么页面大小一般设为2的整数次幂?

一名在校大三学习JAVA 1174

分页存储过程

alter PROCEDURE SP_Pagination/****************************************************************** 分页存储过程 *****************************************************************参数说明:1.Tables :表名称,视图2.PrimaryK

johncools的博客 918

分页存储和分段存储

预备知识: 以下讨论默认运算优先级为算数优先级,若未特殊说明,"="表示相等关系. 1.二进制乘数词头和国际单位制词头 以M(兆)为例: 图一 图二 图三 图一为国际单位制兆以及相应词头间转换关系,结合图二可以看出,两种词头表示的"兆"之间有明显区别,兆在国际单位制中大于二进制中.其它词头可以相类比. 我们从店家购买U盘内存条等存储大小都是按照国际单位制...

dengjiangcw63945的博客 1129
上一篇: 同步两个数据库
下一篇: SQL经典短小代码收集
fisea
博客等级 码龄19年 40粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值