日期:2014-05-17  浏览次数:20586 次

数据表设计寻求一解决方案
我的系统是一地理信息信息 主要记录汽车的位置

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

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

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


这个表该如何来设计呢, 才能加快查询和更新的速度


------解决方案--------------------
这个应该是大量插入数据吧。更新啥?
------解决方案--------------------
试试给longition,latition,receivetime建组合索引
------解决方案--------------------
不懂为什么要更新,基本是添加操作吧?
建立好索引
------解决方案--------------------
数据库设计你不是都搞好了

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

就好比现在你根据需求在longition,latition,receivetime建组合索引
但是 你后面发现这个索引的利用率不高 你可能会在改动和调整
可以多几个少几个,然后查所以利用率,删除不常用的
------解决方案--------------------
探讨
这是一个实时表, 里面可以查到所有车辆最新的位置。。

实时位置和历史位置现在是分开存放的。。 所以要更新

------解决方案--------------------
1、如果2005以上,建议按照地区做分区。
2、在longition,latition,receivetime 做聚集索引。
3、我想知道平时主要更新哪些列?
------解决方案--------------------
经常用到的查询有:
1. userid (为9位唯一的,是主键) --主键
2. 根据longition,latition,receivetime 来建组合索引
------解决方案--------------------
如果执行一条语句能够更新添加多条数据就快了。或者用分区视图,修改和新增操作分区视图子表。