Originally posted by paulgao at 2004-9-24 11:16 PM:
奇怪,要说文本文件在某些操作上比数据库快,前提是跟磁盘表相比,像这种频繁更新的在线用户列表,我看大部分包括 DISCUZ 都是选用 MYSQL 的 HEAP 表来做的,这个我101%相信比磁盘文件操作更快,毕竟是内存级的 ...
做一个 RAMDISK 思路不错, 我强烈建议 TH 们如果银弹充足, 整个论坛 + MySQL 都塞到 RAM 里面去, 哈哈哈...
至于为什么用 text 作为存储, 我估计属于下面几种情况.
1. 开发时思想还是受原来 textdb 的制约, 没有转变过来. 其实 textdb 的产生不是为了提高效率, 他只是在 ISP 不提供数据库的情况下的一种解决方案, 根本不适合企业级运用.
2. 读文本在小规模的情况下确实效果还可以, 例如 500 人以下的中小型论坛, 问题体现不突出, 由于没有高强度数据的 "拷打", 估计开发者也没有意识到. 但如果要商业化, 做出企业级的产品, 文本肯定是不行的, 否则 Microsoft 怎么不用文本来存储 MSDN Libarary 呢.
3. 读文本之后, 数据库 query 确实能够减少, 两个字 - "好看".
说实话, 我也曾自主开发过一个 textdb 类, 操作和 sql 类似, 能够实现 select, create, delete, 可以用通配符号 * 等等,但后来经过评估, 认为当记录少的时候用 cache 即可, 记录太大时候可以用数据库, 只有当记录的行数在 200 ~ 1000 行之间该类才有些价值, 限制条件太多, 于是最终放弃.
以上只是针对用 text 进行存储的技术分析, 不涉及任何特别产品. 看官请勿对号入座.
[ Last edited by LostButterfly on 2004-9-25 at 12:20 AM ] |