一般服务器意外重启或者安装插件都会造成数据表的损坏,导致论坛无法访问或者提示数据库报错,出现这种问题时,需要修复数据库,本教程主要针对数据表损坏的修复 *** 作进行简单介绍。
1、使用 Discuz! Tools 工具修复数据库 放根目录
工具自己官网搜下 我这个等级没法发链接
打开 toolsphp 文件,在文件头部找到:
$tool_password = ''; // ☆★☆★☆★ 请您设置一个工具包的高强度密码,不能为空!☆★☆★☆★ 在这里设置该工具包的密码,注意不能为空!
然后检查 恢复数据库
2、使用 phpMyadmin 修复数据的方法
进入论坛数据库,然后选择要修复的表,在页脚下拉框选择“修复”即可。
3、独立主机的修复数据方法
修复前请一定将 MySQL 服务停止。
如果是 Win 主机,打开命令行方式,然后进入到 MySQL 的 bin 目录。
执行
myisamchk -r d:\MySQL\data\discuz\MYI 其中 d:\MySQL\data\discuz\ 换成您的数据库所在路径。
如果是类 Unix 主机,直接使用 myisamchk -r 数据库目录 \MYI 。
SQL SERVER2005下有个函数
row_number() 可以得到某行的 行标。
要跟新5000-10000行的数据,可以考虑用这个函数先得到他的行标,然后更新
参考
update (select ,row_number() OVER(order by [某列]) AS 'RowNum' from [表])AS B set [列]=[值] where RowNum between 5000 and 10000
这样就可以跟新第5000-10000行的数据了。
具体的row_number()用法,请参考MSDN
看你每条信息多大了,500万条记录的数据库,也就几十M的硬盘容量。
这么些数据存储的话,一般的共享空间就可以满足需求了,每月大概在几十块钱左右。
如果租一个独立服务器的话,每年大概6000元,当然你这个应该没必要。
excel只是个电子表而已,桌面应用,运行的时候会将所有数据读到内存中以加快执行速度。它处理不了这么多数据。你没法把它当数据库用。建议直接将数据输出为xml格式或者html的table格式,这样excel也可以打开。
首先, 插入上万条数据,对于数据库来说并不是“很大”的工作量,一般配置的笔记本电脑都可以在1分钟内完成。 所以最简单、最灵活的办法还是写SQL语句。
如果不希望DB编译器每次执行都编译SQL的话,可以使用存储过程,直接调用,性能上会好很多。也比较简单。
(几万条数据怎么地也得要时间去处理,所以不可能特别快的。)
如果由于各种原因,导致这个插入还是很慢, 而且你的MYSQL又是50以上版本的话,可以使用BulkCopy来进行批量 *** 作。
BulkCopy的原理就是Client直接把一个数组(DataTable)传给DB,然后传入表名,所有的编译、 *** 作都由DB自己完成,效率很高。
引用MySqlDatadll , 调用MysqlBulkCopy函数即可。
这个函数在处理海量数据插入的时候效率尤为明显, 小量数据反而没什么优势,而且由于传入的DataTable格式必须和表的字段一模一样(空的列也要传进去),导致C#要写很多代码来构造这个数组,所以要你自己权衡用还是不用。
我在自己的电脑上批量插入一亿条数据,Insert写法大概需要1小时,BulkCopy大概只需要5分钟。
以上就是关于数据库错误50000的原因分析全部的内容,包括:数据库错误50000的原因分析、求助:更新数据库第5000-10000条数据、储存5000000个信息的数据库大概要多少空间,大概要多少钱等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)