数据表设计寻求一解决方案

zywhao 2012-09-11 11:55:29
我的系统是一地理信息信息 主要记录汽车的位置

1. 现在有数据表tbLocation 现有数据量40W左右 字段有20项,主要字段为【userid,longition,latition,receiveTime】
2. 平均每秒钟有大约3500条记录在更新或添加

存在的问题:更新比较缓慢

经常用到的查询有:
1. userid (为9位唯一的,是主键)
2. 根据longition,latition,receivetime 来查询最近15分钟内在范围内的记录。。


这个表该如何来设计呢, 才能加快查询和更新的速度
...全文
90 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
这是一个实时表, 里面可以查到所有车辆最新的位置。。

实时位置和历史位置现在是分开存放的。。 所以要更新
[/Quote]
那也应该是转移数据(类似DELETE)吧。

索引是需要滴。但要看你的情况再定。
汤姆克鲁斯 2012-09-11
  • 打赏
  • 举报
回复
数据库设计你不是都搞好了

至于索引这个需要自己根据自己的情况来调整

就好比现在你根据需求在longition,latition,receivetime建组合索引
但是 你后面发现这个索引的利用率不高 你可能会在改动和调整
可以多几个少几个,然后查所以利用率,删除不常用的
zywhao 2012-09-11
  • 打赏
  • 举报
回复
这是一个实时表, 里面可以查到所有车辆最新的位置。。

实时位置和历史位置现在是分开存放的。。 所以要更新
Nonoooo 2012-09-11
  • 打赏
  • 举报
回复
不懂为什么要更新,基本是添加操作吧?
建立好索引
  • 打赏
  • 举报
回复
试试给longition,latition,receivetime建组合索引
SQL77 2012-09-11
  • 打赏
  • 举报
回复
这个应该是大量插入数据吧。更新啥?
luck8000 2012-09-11
  • 打赏
  • 举报
回复
你查询15分钟内的数据,有什么实时位置和历史位置,还要更新?把Logition Latition ReceiveTime 几个这段,来建一个组合索引.
wylsjz 2012-09-11
  • 打赏
  • 举报
回复
如果执行一条语句能够更新添加多条数据就快了。或者用分区视图,修改和新增操作分区视图子表。
以学习为目的 2012-09-11
  • 打赏
  • 举报
回复
经常用到的查询有:
1. userid (为9位唯一的,是主键) --主键
2. 根据longition,latition,receivetime 来建组合索引
發糞塗牆 2012-09-11
  • 打赏
  • 举报
回复
1、如果2005以上,建议按照地区做分区。
2、在longition,latition,receivetime 做聚集索引。
3、我想知道平时主要更新哪些列?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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