选择结构数组,还是使用数据库呢?

muyanqi 2008-06-11 09:54:27
正在开发一个程序,关于地图信息共1026个六角格,考虑是用结构数组,还是用数据库访问?
每个数组是一个结构体,存储诸如坐标等很多信息。大家给点意见,就大家的开发经验而言,那个更快一些?效率更高?
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeSummer 2008-06-12
  • 打赏
  • 举报
回复
推荐你使用sqlite,这个数据库可以编译到你的程序中,体积小,300来K。
速度可以和my sql匹敌。支持绝大部分SQL标准。而且最重要的是免费的。何乐而不为呢?

有大厂商的支持,Adobe,Microsoft,Apple,firefox都在使用。

无论是做程序的文件格式,还是数据的排序等处理,绝对是首选。

下面是我翻译的:
根据官方的说明,sqlite有以下特色:
零配置,不象其他数据库那样需要配置。
无服务器,不是CS架构的数据库。
单数据库文件,数据都保存在一个文件里面。
跨平台的数据库格式,无论是大小尾还是32位,64位,都可以移植。
紧凑,编译后整个sqlite库只有200KB大小。
自显类型
可变长度记录
容读的代码
SQL编译器
开放的授权
SQL扩展

可以应用在以下场合:
应用程序的文件格式
嵌入式设备
网站
替代C的文件操作函数
临时数据库
数据分析工具
企业数据库的演示和测试
SQL语言扩展实验

不适合以下场合:
C/S架构
高容量的卷
超大的数据库
高并发的场合

SQLITE已经被多家厂商所使用,例如:Adobe,Microsoft,Apple等等

嵌入式的linux,win ce,vxworks,手机使用的数据库大部分都是sqlite,可以说在嵌入式平台上已经称霸一方了。
我还在sony的psp见到了sqlite。另外,其他语言的驱动都已经出现,例如java,.net,python,php,perl等
sqlite本身内置支持TCL!

从sqlite的体系上看,麻雀虽小,五脏具全,SQL分析器,编译器,虚拟机,页管理器,OS抽象层都有。而且代码包含
大量的注释以及测试代码,非常值得学习。

其实SQLITE的性能完美超越了Access一大截了,在打开事务处理的情况下,不少操作的性能超越了
MY SQL,最重要的是,它能够直接编译到程序里面,或者编译成一个DLL,使用起来非常方便。那么好的东西,
赶快到www.sqlite.org收藏吧
cutestar 2008-06-12
  • 打赏
  • 举报
回复
要看程序要实现什么样的功能了,如果比较简单用结构数组可能要快些,如果要实现结构体查询,用数据库要快些,
毕竟在查找时进行了优化,当然还要看你用什么方式访问数据库,odbc,ado,以及用什么做数据库
zsycloud 2008-06-11
  • 打赏
  • 举报
回复
如果要考虑更新等的问题的话,就用数据库吧。
ouyh12345 2008-06-11
  • 打赏
  • 举报
回复
1026
数据量不多啊,不需要使用数据库了,用stl吧
superdiablo 2008-06-11
  • 打赏
  • 举报
回复
数据库是存储到硬盘上时用的,你所说的地图信息是在内存中的,当然要设计自己的数据结构.
《10天掌握MongoDB》2012翻新完整版,大小 4.6 MB,NewSQL 中文社区系列课程。本版本带有 PDF 书签,方便读者朋友阅览。 目录: 第一天:认识MONGODB 从NOSQL说起 NOSQL数据库特点 NOSQL数据库类型 MONGODB简介 数据库、集合、文档命名规范 MONGODB的下载与安装 MONGODB SHELL MONGODB的数据类型 MONGODB的基本数据类型 MONGODB的数组 MONGODB的文档嵌套 MONGODB的OBJECTID 结束语 第二天:初识增删改 添加文档 删除文档 更新文档-文档更换1 更新文档-文档替换2 更新文档-UPSERT模式 更新文档-MULTI模式 更新文档-修改器 定位操作符("$")-神马是定位 定位操作符("$")-未知 FINDANDMODIFY-有神马不同 FINDANDMODIFY-返回已更新的文档 FINDANDMODIFY-实现自增标识 其他 第三天:学会FIND 认识FIND 子键筛选 复杂查询 查询条件操作符 正则表达式 数组查询 数组查询-$SIZE 数组查询-$SLICE 数组查询-子项定位 数组查询-$ELEMMATCH 游标 $WHERE 排序分页 排序分页-排序比较的顺序 排序分页-分页示例 排序分页-不使用SKIP分页 结束语 第四天:使用索引 创建索引 修改索引 删除索引 唯一索引 地理空间索引-创建1 地理空间索引-创建2 地理空间索引-$NEAR 地理空间索引-$WITHIN(BOX) 地理空间索引-$WITHIN(CENTER) 地理空间索引-$WITHIN(POLYGON) 地理空间索引-球形查找 查询计划 强制使用索引 实战技巧 第五天:聚合操作 聚合操作-COUNT 聚合操作-DISTINCT 聚合操作-GROUP 聚合操作-GROUP完成器 聚合操作-GROUP键函数 聚合操作-MAPREDUCE(简介) 聚合操作-MAPREDUCE(OUTPUT) 第六天:进阶指南 数据库命令-概览 数据库命令-BUILDINFO 数据库命令-COLLSTATS 数据库命令-DROP 数据库命令-DROPINDEXES 数据库命令-GETLASTERROR 数据库命令-ISMASTER 数据库命令-LISTCOMMANDS 数据库命令-LISTDATABASES 数据库命令-PING 数据库命令-RENAMECOLLECTION 数据库命令-REPAREDATABASE 数据库命令-SERVERSTATUS 定容集合 定容集合-自然排序 定容集合-尾部游标 GRIDFS GRDFS-原理 服务器端脚本 服务器端脚本-存储JAVASCRIPT 数据库引用-DBREF 第七天:服务器管理 启动和停止 配置文件 管理界面 安全与认证 备份与恢复 备份与恢复-冷备份 备份与恢复-热备份 备份与恢复-主从复制备份 备份与恢复-修复 第八天:MONGODB复制 主从复制 主从复制-选项 副本集 副本集-特点 副本集-活跃节点选举 读写分离 工作原理-OPLOG 工作原理-同步 复制管理-诊断 复制管理-变更OPLOG容量 复制管理-复制认证 第九天:MONGODB分片 分片与自动分片 片键与片键选择 分片集群的组成部分 创建分片 管理分片 结语 第十天:分享实战经验 对NOSQL的理解 为什么是MONGODB 文档结构设计 索引及查询优化 复制分片及副本集 其他

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧