windows系统下 mysql和MFC CFile文件操作的效率 比较mysql,访问接口用capi,单独的一个mediumblob字段的表。插入数据,480K,用CFile写15ms,mysql 8ms 差不多但是读数据
CFile 读 4M的文本 6ms
mysql 读1行 blob字段需要 60ms为什么差距这么大呢?有更好的读取数据的方法吗?
mysql访问如下CString sql="select blo from test";
stmt=mysql_stmt_init(conn);
mysql_stmt_prepare(stmt, sql, strlen(sql));
mysql_stmt_execute(stmt);
mysql_stmt_store_result(stmt);
CFile 读 4M的文本 6ms
mysql 读1行 blob字段需要 60ms为什么差距这么大呢?有更好的读取数据的方法吗?
mysql访问如下CString sql="select blo from test";
stmt=mysql_stmt_init(conn);
mysql_stmt_prepare(stmt, sql, strlen(sql));
mysql_stmt_execute(stmt);
mysql_stmt_store_result(stmt);
解决方案 »
- 如何读取点击量排前十的博客文章,要求每个人最多只有一篇
- 在redhat5.4中安装mysql 请问它的路径(求助 急!)
- 求一个SQL语句,十万火急
- 求救,为什么mysql表名不能超过6个字节
- MySQL触发器中如何找到修改的名字
- 帮忙看下存储过程是什么意思
- 一个说起来简单,但不好解决的数据库问题!
- 我把本地计算机中的数据库备份出来,然后想在另一台计算机上把它还原进去,不过,前后两台计算机的机器名不一样,这会影响备份文件的导入吗?
- MySql 截取年月做日期比较
- SQL修改时间语句
- 不显示删除回复显示所有回复显示星级回复显示得分回复 一个可能比较简单的问题,应用怎么访问mysql 主从库中 多个从库
- 200W条数据的排他搜索!
嗯,有个问题请教:存数据数据库的性能还会高一点,因为CFile操作的Seek很耗时。工业系统应该是存储为主,数据库应该更有优势吧。?读取CFile用的是整个文档读取,如果要截取中间部分读取,CFile也很慢。和数据库的读取时间差不多。
首先,不管是什么,最终的数据都在磁盘文件中,这一点我想没有什么疑问。那么数据库系统是如何从这些数据文件中取得数据呢? 想通这一点就明白很多了。 CFILE显然做了些封装,如果你直接用C的 fopen 则会体会到实际的速度。 另外数据是记录格式,如果索引做好,其实就是直接计算出记录所在位置。 同样,你直接用CFILE也可以利用相同的算法。工业控制系统主要以实时为准。
嗯 :) 非常万分感谢版主。还有几个疑问,呵呵。1)存储归根到底肯定是文件快了,除非数据库自己做了个更高效的文件和磁盘管理,绕开OS的文件系统。呵呵,用数据库也是考虑开发效率和远程数据访问。存储的性能损失很小,所以就忽略不计了。:)2)但是读取数据性能损失的比较大,纠结中,呵呵。看来只好这样了,是硬伤了。3)实时很关键的采集部分,我们用的是商业实时数据库。对这部分我研究不深,只是了解。好像实时数据库的存储也是类似于mysql,只是做了些内存缓存管理。?
用mysql的采集部分是不关注很实时的,以存储为主,主要用于回放。省钱呵呵。
2)但是读取数据性能损失的比较大,纠结中,呵呵。看来只好这样了,是硬伤了。
同上3)实时很关键的采集部分,我们用的是商业实时数据库。对这部分我研究不深,只是了解。好像实时数据库的存储也是类似于mysql,只是做了些内存缓存管理。?
实时数据,仅做必要处理,直接写入文件,然后由另一进程慢慢导入数据库。用mysql的采集部分是不关注很实时的,以存储为主,主要用于回放。省钱呵呵。