mysql innodb 数据打捞(二)innodb 页面打捞编程
有了页面的结构和特征,需要编程实现数据库页面的打捞工作;
为了方便windows and linux 的通用,计划做成C语言的控制台应用,并且尽量只用ansi c;
关于多线程,计划做成多线程的程序,最好是一个线程读文件,一个线程计算与输出;
关于线程库:选择pthead,多线程正是个头疼的事儿呀,undrop虽然也用了多线程,但每个线程都是做完全部流程,编程难度上和单线程基本没什么区别;
我的计划是一个线程读源文件,另一个线程做判断和提取工作;
写了一天,现在才发现undrop 中的stream_perser本来就有数据打捞功能,采用的特征与自己想的基本一至,为了解理学习,还是决定再造一个轮子,许多代码直接用undrop中的;
昨天因为命令行操作太麻烦,所以把程序做成win32窗口界面的了,考虑到linux移植,所以代码基本没改,可以很容易改成linux程序的,当然linux下是命令行界面的。
关于性能,普通PC,i3 550CPU,机械硬盘单,如果扫簇扫描或按扇区扫描,CPU没有压力,能达到读硬盘的最大速度,当逐字节扫描时,CPU单核满负载,对速度有一定的影响,再有就是机械硬盘如果读写都在同一块上时,速度有较大影响.
此工具非最终版,
转载于:https://www.cnblogs.com/veryjuly/p/5463707.html
mysql innodb 数据打捞(二)innodb 页面打捞编程相关推荐
- 《零基础》MySQL 查询数据(十二)
MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MySQL数据库中查询数据通 ...
- MySQL(六):InnoDB数据文件
尺有所短,寸有所长:不忘初心,方得始终. 请关注公众号:星河之码 一.数据文件的组成 innodb数据逻辑存储形式为表空间,而每一个独立表空间都会有一个.ibd数据文件,ibd文件从大到小组成: 一个 ...
- c# 向mysql插入数据_C#连接mysql数据库 及向表中插入数据的方法
mysql 语句操作: 创建数据库:create database hotelATMDb; use hotelATMDb; C#连接mysql 1.引用 dll MySql.Data.dll 下载地址 ...
- mysql innodb 数据打捞(一)innodb 页面结构特征
如果文件系统损坏或意外删除了数据库文件,只要磁盘空间没有被覆盖,其实数据都还在磁盘的扇区中,还是可以恢复出来的,有些通用的文件恢复工具好象也可以恢复文件 ,但这里要研究的是在通用文件 恢复工具失效的时 ...
- 【mysql】-【innodb数据存储结构】
文章目录 数据库的存储结构:页 磁盘与内存交互基本单位:页 页结构概述 页的大小 页的上层结构 页的内部结构 File Header(文件头部)和File Trailer(文件尾部) File Hea ...
- Mysql+innodb数据存储逻辑
Mysql+innodb数据存储逻辑. 表空间由段,区,页组成 ibdata1:共享表空间.即所有的数据都存放在这个表空间内.如果用户启用了innodb_file_per_table,则每张表内的数据 ...
- MySQL(二)InnoDB的内存结构和特性
目录 In-Memory Structures 缓冲池 Buffer Pool 更新缓冲Change Buffer Adaptive Hash Index (redo)Log Buffer 总结 磁盘 ...
- mysql创建表设置数值范围,MySQL创建数据表时设定引擎MyISAM/InnoDB操作
我在配置mysql时将配置文件中的默认存储引擎设定为了innodb.今天查看了myisam与innodb的区别,在该文中的第七条"myisam支持gis数据,innodb不支持.即myisa ...
- MySQL最常用数据引擎(InnoDB、MylSAM、MEMORY)详解及如何选择合适的存储引擎
前言 存储引擎其实就是如何存储数据,如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型).在O ...
- mysql innodb xtrabackup_Xtrabackup使用指南 InnoDB数据备份工具
一.Xtrabackup介绍 A.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbac ...
最新文章
- Torch not compiled with CUDA enabled
- FoundationDB Record Layer 宣布开源,提供关系数据库功能
- 构建针对 iOS 和 Android 的原生扩展
- Alpine 操作系统是一个面向安全的轻型 Linux 发行版
- qt给qdialog加一个滚动条_这些小程序技巧,你敢说你一个用不到?
- linux python指向python3_linux下切换python2和python3(转)
- Windows7系统下编译安装X264
- php 数组中连续的数字,php数组中最近的次要数字
- uniapp微信小程序订阅消息发送服务通知--超详细
- 什么是论文查重报告?
- uniapp应用内苹果支付怎么写?
- Globally and Locally Consistent Image Completion 实验记录
- 2017,我对自己狠一点,也要对自己好一点
- [VB.NET] - Rs232 通讯 COM口
- SQL SERVER数据库修复
- [论文翻译]A SURVEY ON DEEP LEARNING METHODS FOR SEMANTIC IMAGE SEGMENTATION IN REAL-TIME
- ERP系统-应收应付子系统-收款单
- 大数据处理过程的通俗理解
- 如何 建设新闻 网站
- win7屏保后锁定计算机,win7系统设置电脑锁屏的操作方法