用C#开发了房地产物业管理的程序,各种记录与数据都是用txt文件保存。写了各种查询语句与写入语句。执行效率也没比数据库慢啊。大家感觉用txt文件做数据存取有什么利弊?

解决方案 »

  1.   


    数据量大了你就知道了区别了数据量不大时 我喜欢用XML
      

  2.   

    数据库小,就用access 大了就用sql或者orc
      

  3.   

    看什么场合数据小 用XML。才不会用记事本。。记事本也不安全
      

  4.   

    数据量不大还是用xml吧。 记事本不安全。
      

  5.   

    基于文本文件的开源数据库——sqlite,有各种语言的版本。
    不过数据是明文记录的,不支持加密。
      

  6.   

    下载
    http://www.sqlite.org/download.html
      

  7.   

    小数据放到txt文本里面
    稍微大点放到access 
    再大点放到sql
    再再大点就放oracle
      

  8.   

    你这个才需要写数据库,除非你的资料仅作为LOG保存一下.
    缓存+多线程+批量写入
      

  9.   

    干嘛用记事本啊你不想装数据库软件 就用xml好了
      

  10.   

    xml 其实是一种毒, 各位中毒很深
      

  11.   

    SQLite 这个数据库楼主去研究下
      

  12.   

    很久前学IO的时候写过一个小程序,就是用txt做的数据库。
    不过只是玩玩。
      

  13.   

    弄好点的吧,数据少选access 多的话 SQL
      

  14.   

    文本txt的读写肯定比数据库快的。数据库要考虑很多处理。
      

  15.   

    都是建立在文件之上  txt 也可以 在C#里面 一行 放一条数据 读取的时候 File 有个 ReadAllLines 的方法 
    ··不知道拼的对不对···
      

  16.   

    有 但是用XML  逼即使本好多了
    Access也不错
      

  17.   

    用XML来做效果是最好的~~我有的项目基本上都有用XML来做~~~TXT一般我只是用来存一些文本文件~~
      

  18.   

    可能楼主理解上面有误~~TXT其实不是数据库~~XML是数据库但也可以看到文本文件~~~把扩展改一下表面上跟记事本差不多~~~
      

  19.   

    楼主说的是txt文件保存,
    他并没有说用记事本来保存啊!只是按照lz的意思好像是用文本文件来存储而非二进制方式。另外,access和sqllite等是基于文件的数据库,性能肯定比你“设计”的基于文件的性能要好。另外,传统的二维数据库,如中型的mySQL,大于的oracle、db2等,主要解决的是大量重复、高并发、事务支持、安全性等等。基于文件的数据库和基于服务的数据库、或者是NOSQL类型的适用面不一样。貌似你的要求应该用,但是如果数据量相当大而且是二维的话,可以用sqllite。 不过sqllite记录太多时性能下降的很快,如超过十万条记录时,这个没有测过。
      

  20.   

    数据少软件用.txt也没什么关系。
    大的还是用专业数据库的好。
      

  21.   

    真的是“数据库”吗?
    那是怎么解决查询问题的?用string类自己的方法?还是什么呢,本人很疑惑。10万条记录,一条一行,你的解决方案是如何解决关键字查询的?
    按理说应当要有索引吧,用散列算法做主键索引是必须的。
    你用一文本文件做数据文件,就需要自己写索引程序啊,这不发明轮子么,就算写轮子吧,上GB的文件,C#下一定是用文件视图绝对定位做了,要不一次性装内存还不疯了。
    关于插入和删除的方法中重建索引的方法也够忙半天的。
    关于文本型字段上做查询优化,就又得把字符串的二进制值做二叉树索引。
    锁啊、并发控制、触发器、约束啊、权限控制啊。sql解释器啊什么也得有点吧。内存管理也得加点吧。最后问一下,您做的其实是在一个txt型资源文件上的string型数据操作类对吧。
      

  22.   

    这个。挺有才的
    不过txt确实不安全
    从acid四个角度来看
    都不应该作为数据库来存在
      

  23.   

    noSql时代开始啦!还在讨论sql?了解一下吧,比如MongoDB
      

  24.   

    ....数据量不大 那叫做数据交换  xml数据量大了 oracle  sql 
      

  25.   

    谁说用文本就慢,用数据库就快了?!这本来就没有可比性。1. 具我所知,导航器上的地图数据文件多数都是1G多的文本,也没见运行很慢。关键是你怎么组织你的文本数据的格式。导航器的SD卡有限的空间里用SQL是不现实的。2. 至于安全性,我想没有哪个数据库比文本数据更容易实现安全加密吧。3. 文本数据库的弊端,主要是它的格式没有像SQL或XML一样有一定的标准,它的使用方与设计方必需达成一定的协议标准才能有效的使用数据。这点是关键。4. 单单从运行速度上讲,我觉得,组织的文本数据要比数据库还要快。
    理由是 文本:文本数据-->内存
    数据库:SQL逻辑-->数据区-->内存。5. 文本数据是不会被淘汰的,最简单的例子是杀毒软件的历史记录就是以文本记录的,当然也有用sqlite的.哈哈,扯了一堆,其实数据库也是文件(本),只不过它组织了标准的数据格式。
      

  26.   

    - 如果只增数据,不减数据,写入操作方面笔记本肯定比任何一款数据库或XML介质速度要快,而且是数倍的快,
    - 但如果考虑数据删除,就麻烦了,因为他只能覆盖重写。牛一点的方式是,不删除,只增加,单独设一个索引记录哪些数据是无效的。然后统一在系统空闲时清除
    - 如果高效的查询,没有索引笔记本无法与数据库相比,甚至在结构做的不好情况,可能都没法查出来,你要是牛就自己再建个索引系统。
     如果处理的好,笔记本肯定比XML 和数据库都快,不过我感觉好像在重新做一个底层数据库
      

  27.   

    淘不淘汰是相对而言的。在小数据量时,xml很好
      

  28.   

    半力支持你的看法!TXT做数据库,当然在这些性能上会不行,但是优点也是很明显的!使用SQL,需要在客户端弄一大堆东西去支持,对于嵌入式的机器简直就是要命。这种情况下,还是TXT来得简单。当然,数据量稍大,就成问题了。我在实践中采用了折衷的选择:access,呵呵!