根据经验,MSSQL的单数据库文件超过4G后,特别是含有各种索引,存储过程、触发器等复杂应用时,总会有些问题,做维护时很头痛的。当然,如果应用简单 ,记录数少,单记录尺寸大时,例如一般的信息管理数据,MSSQL还能支持大一点的数据库。若是记录数多,特别是读写密集型,如超市销售,省级销售网络,MSSQL基本玩完,硬撑是大幅增加维护成本,必须要上马FireBird了。
另外在大容量客户连接时,不管用什么数据库,千万不要用数据库原生的XML返回,XML是网络带宽杀手啊。最好用C的API返回记录集,再程序生成XML。
2、SQLite还是很鸡肋,真的不如全功能的嵌入式FireBird,网上的测试都是太简单,循环读写最简单的记录,我的测试是SQL语句只要稍复杂点,SQLite的速度可以说是慢,抛开复杂SQL语句不说,仅仅是循环插入BLOB字段,SQLite跟死了差不多,而Firebird依然是很欢快的。看来SQLite还是主要依赖 *** 作系统,还不能叫做数据库。
我以前每次做单机程序都会先选择SQLite,因为它能全编译进C++Builder,但每写一段时间都被迫换回Firebird,次次如此啊,真痛苦。最大的感觉是SQLite为什么总是那么不争气呢。。。
3、单单是为了速度的话,还是建议用BerkeleyDB,我做网络管理程序和数据库管理程序时,主程序都是用BerkeleyDB保存各种数据,它也能全编译进C++Builder,速度没得说。而服务器端数据库的用户信息、单位信息、产品型号标准等等变动少的表,我也是用BerkeleyDB做数据库的缓存表,一有客户端连接认证,直接查询发出即可,开发者更容易控制程序的运行稳定性,维护很少。
导致Firebird数据库损坏的主要原因各种原因引起的非正常关机。例如: 突然停电、直接强行关闭电脑的电源、强行电脑复位。
错误的备份方法。如果Firebird(火鸟)正处于运行状态,直接复制数据库文件(tranib.fdb 或 tranib.gdb),将严重损坏您的数据库。需要提醒的是,即使应用软件(如:软杰通易)未运行,Firebird数据库也一直处于运行状态。
低级错误 *** 作。例如: 直接用记事本或其它软件直接打开数据库文件(tranib.gdb或tranib.fdb),试图查看其内容。请记住,tranib.gdb 或 tranib.fdb不能用记事本或其它普通的程序随意打开,即使打开了,也看不到任何有意义的内容。
数据库损坏,我的数据是否会全部丢失?
通常,一次数据库的损坏,一般发生在“行级”,一般就是1-2笔数据记录。但是严重的损坏,可能造成您的数据彻底丢失!
如何避免数据库损坏
请注意以下几点:
避免windows的非正常关机。
永远都不要试图对扩展名为gdb或fdb的数据库文件进行复制、打开、删除等 *** 作。
总是使用软件内置的“数据备份”功能进行备份。其它任何备份方法都是危险的,或者有潜在的威胁。
如果您的公司有局域网,不要将数据库文件所在的文件夹设为共享。因为设为共享后,您的同事可能会尝试打开、复制等 *** 作。
总之,数据库损坏是各行各业的很多用户都要遭遇的一个问题。对于一些重要部门,为了保证数据安全所作的投资,是十分惊人的天文数字。对于刚刚开始电脑化管理的中小企业来说,不可能在数据安全方面作太多的投资,但规范的 *** 作、质量过硬的硬件、良好的电脑使用习惯、专业的电脑知识,都十分有助于您的数据库处于良好的运行状态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)