执行海量数据存储过程的函数方法

MySQL 批量删除海量数据的几种方法 可以将批量删除逻辑封装成存储过程,利用存储过程自动控制批量删除过程。方法适用场景优点缺点LIMIT分批删除需要简单分批删除逻辑简单,减少锁表时间需循环操作主键范围分批删除有连续主键的表高效,无偏移开销需手动指定范围自定义批量删除存储过程小批量删除自动化操作需要数据库支持存储过程临时表替换删除数据量非常大避免锁表,减少日志开销需要额外磁盘空间根据不同的业务场景和需求,选择合适的批量删除方式可以提高 MySQL 的删除效率,减少对数据库的影响。 阅读详情

         public SqlConnection myConnection;
        public SqlCommand myCommand;
        public SqlDataSource myDs;
        public SqlDataAdapter myAdapter;
        public SqlDataReader myReader;
        public SqlParameter Para_PageCount, Para_DataCounts,getReturnValue;
        public SqlCommandBuilder myCommandBuilder;
        public DataSet ds;
        public DataTable dt;
        public DataRow dr;
        public XmlDataSource xmlDs;
        public XmlDataDocument xmldataDoc;
        public XmlReader xmlReader;
        public XmlDocument xmlDoc;
        public Int32 PageCount, DataCounts;
        public string filename, myLinkUrl;
        public int filesize;
        public ulong[] Crc32Table;
        public string[] TypeList = new string[100];
        public string Connections;
      

 /// <summary>
        /// 执行存储过程的分页函数
        /// </summary>
        /// <param name="_dataKey">主键</param>
        /// <param name="_tblName">表名称</param>
        /// <param name="_getFields">获取的列名称</param>
        /// <param name="_pageSize">每页记录数</param>
        /// <param name="_page">选择的页码</param>
        /// <param name="_sortName">排序的字段</param>
        /// <param name="_sortType">排序类型</param>
        /// <param name="_searchCondition">查询条件</param>
        public void ExePageProcedure(string _dataKey, string _tblName, string _getFields, int _pageSize, int _page, string _sortName, string _sortType, string _searchCondition)
        {
            Open();
            myCommand = new SqlCommand("Proc_Pagination", myConnection);
            myCommand.CommandType = CommandType.StoredProcedure;
            myCommand.Parameters.Add("@keyName", SqlDbType.NVarChar, 255);
            myCommand.Parameters["@keyName"].Value = _dataKey;
            myCommand.Parameters.Add("@tblName", SqlDbType.NVarChar, 255);
            myCommand.Parameters["@tblName"].Value = _tblName;
            myCommand.Parameters.Add("@strGetFields", SqlDbType.NVarChar, 1000);
            myCommand.Parameters["@strGetFields"].Value = _getFields;
            myCommand.Parameters.Add("@PageSize", SqlDbType.Int);
            myCommand.Parameters["@PageSize"].Value = _pageSize;
            myCommand.Parameters.Add("@PageIndex", SqlDbType.Int);
            myCommand.Parameters["@PageIndex"].Value = _page;
            Para_PageCount = myCommand.Parameters.Add("@PageCount", SqlDbType.Int);
            Para_PageCount.Direction = ParameterDirection.Output;
            Para_DataCounts = myCommand.Parameters.Add("@DataCount", SqlDbType.Decimal);
            Para_DataCounts.Direction = ParameterDirection.Output;
            myCommand.Parameters.Add("@SortName", SqlDbType.NVarChar, 255);
            myCommand.Parameters["@SortName"].Value = _sortName;
            myCommand.Parameters.Add("@SortType", SqlDbType.NVarChar, 255);
            myCommand.Parameters["@SortType"].Value = _sortType;
            myCommand.Parameters.Add("@SearchCondition", SqlDbType.NVarChar, 1000);
            myCommand.Parameters["@SearchCondition"].Value = _searchCondition;
            myReader = myCommand.ExecuteReader();
        }
 

提取海量数据的SQL存储过程 在大数据量的情况下,特别是在查询最后几页的时候,查询时间一般不会超过9秒;而用其他存储过程,在实践中就会导致超时,所以这个存储过程非常适用于大容量数据库的查询。 立即下载

相关推荐

Moltbot 超详细安装使用教程(初学者版)

你在外面逛街,用微信/Telegram 发消息说"帮我查一下明天的天气"它立刻帮你查好并回复你说"帮我在电脑上新建一个文件夹叫'工作文档'"它真的帮你在电脑上创建了这就是 Moltbot ——一个能真正帮你干活的 AI 助手。API Key 就像是一把"钥匙",让 Moltbot 能够使用 AI 服务。

weixin_51040479的博客 2017

Mysql高级2

Mysql的体系结构概览 1) 连接层 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。 2) 服务层 第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化,部分内置函数的执行。所有跨存

X..RH 769

双摄像头的实时视频拼接及目标跟踪(一)

本章主要讲图像拼接算法的研究 先膜拜一下知乎大佬全面的叙述:https://www.zhihu.com/question/34535199/answer/135169187 本文图像拼接是基于opencv的图像拼接,流程分为以下几步 ...

Y.W.jian的博客 3万+

如何处理数据库中海量数据,以及处理数据库海量数据的经验和技巧(转)

海量数据是发展趋势,对数据分析和挖掘也越来越重要,从海量数据中提取有用信息重要而紧迫,这便要求处理要准确,精度要高,而且处理时间要短,得到有价值信息要快,所以,对海量数据的研究很有前途,也很值得进行广泛深入的研究。 基于海量数据的数据挖掘正在逐步兴起,面对着超海量的数据,一般的挖掘软件或算法往往采用数据抽样的方式进行处理,这样的误差不会很高,大大提 高了处理效率和处理的成功率。 在实际的工作环境下...

Bobby的部落阁 1165

BPMN2.0规范及流程引擎选型方案

本文主要简明扼要的介绍了BPMN2.0规范的内容,可让读者快速度的了解BPMN2.0所涵盖的主要内容和图形样式。也较为详细的阐述了如何绘制标准的流程图,以及在软件层面中如何实现业务流程功能,和技术选型。

比特桃 1万+

CAS5和CAS6自定义异常提示消息

CAS自定义异常提示消息

weixin_42949219的博客 979

使用存储过程造批量数据

在做性能测试的时候,经常会遇到需要大量的数据用来做交易,例如银行的缴费,当一条数据缴完后就不能再缴费了,所以需要造大量的数据用来做性能测试,下面是在做某银行校园卡缴费性能测试,根据表的特点,编写的一个存储过程,供大家参考: declare busiId varchar2(20);

shenzhen2008的专栏 3439

莆田市C++专项选拔第一轮题4

现在小明同学想要从两堆硬币中各选择一枚硬币,使得两枚硬币的面值之和 不超过 k。不同的硬币组合,就算面值相同,也视为不同的方案。现在他把这些硬币分成了两堆,已知两堆硬币分别有 n 和 m 枚硬币。可选方案有: (1,2), (1,1), (1,1), (5,2), (5,1), (5,1),共 6 种。第一行三个整数 n, m, k,分别表示第一堆硬币的数量,第二堆硬币的数量,以及面值之和的上限。对于30%的数据,1 ≤ n , m ≤ 1000 , 1 ≤ b , c ≤ 1000。

lpstudio的博客 925

海量数据的查询优化及分页算法方案

很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。中国自学编程网提供 www.zxbc.cn 比如:  select * from table1 where name=’zhangsan’ and tID > 10000   和执行:  select * from table1 where tID > 10000 and n

wjq008的专栏 587

深度拆解 ‘High-Frequency Trading’ (HFT) 系统:解析如何在 100 纳秒内完成从网卡到 C++ 策略的响应

在100纳秒内完成从网卡到C++策略的响应,这是一项对技术栈每一个层面都进行极限优化的系统工程。它要求我们深入理解计算机体系结构、操作系统、网络协议和C++语言的底层机制。从物理距离的极致缩短,到高性能网卡和内核旁路技术,再到C++代码中每一个字节、每一个CPU周期的精打细算,HFT系统展现了人类对计算速度的永恒追求。这项技术不仅仅应用于金融交易,其背后的低延迟理念和实现方法,如DPDK、无锁编程、硬件加速等,正在逐渐渗透到其他对延迟敏感的领域,例如电信网络、边缘计算和工业自动化。

weixin_41455464的博客 1039

[Unity开发] [PICO]避坑指南:PICO商店上传APP时PXR Platform APPID设定详解

PICO开发者上传Unity应用时常见的"APPID不符"问题,主要源于混淆了开发者后台两个不同位置的APPID。

每日出拳老爷子的博客 556

海量数据处理的方法总结

基础知识: bit:位 byte:字节 1 byte= 8 bit int 类型为 4 byte,共32位bit,unsigned int也是 2^32 byte = 4G 1G= 2^30 =10.7亿 海量数据处理概述: 所谓海量数据处理,就是指数据量太大,无法在较短时间内迅速解决,或者无法一次性装入内存。而解决方案就是:针对时间,可以采用巧妙的算法搭配合适的数据结构,如 Bloom filter/Hashmap/bit-map/堆/数据库/倒排索引/trie树;针对空间...

张维鹏的博客 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

海量数据存储过程

SQL优化三、实现小数据量和海量数据的通用分页显示存储过程 转自Csdn  作者: ....  建立一个web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到

飞翔 - Flying 4082

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 支持排序和不排序的海量数据分页存储过程
lray
博客等级 码龄21年 7粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值