sql 表数据在一亿条以上 怎么优化
假设表A数据经过一年后达到一亿 如何优化
听别人说 数据库有这个功能,可以把历史的分开例如表中只存最近一个月的
但是查询表A的 还能查到一个月以前的
大概意思就是这个 会的帮帮忙 不会的帮顶下
------解决方案--------------------说的是分区表,看看联机丛书吧。
------解决方案--------------------如果一年前的只是备份待查,分离出来另存.
如果一年前的会用到,但用得少,用分区.
如果一年前的仍然要频繁使用,用分区,但要加一个磁盘.
------解决方案--------------------以主键水平分割表!
------解决方案--------------------联机丛书
------解决方案--------------------
------解决方案--------------------如果交易(新增)业务不涉及旧数据,可以把旧数据自动搬移到另一个表甚至另一个库或另一个服务器
历史表会很大,但是只查询,而且不在一个表、库、服务器,基本不影响交易
如果交易要求旧数据存在,则不用分开,直接把A表改为分区表
------解决方案--------------------如果是日志数据(随时间增长必然会增长的),分表是必然的,因为总有大到没法运行的一天,分区表只能是个辅助,对其作用不要期望太高
------解决方案--------------------上亿条是一定要分区的,如果是2000的话你可以分表管理,如果是2005或以上你就做一个水平分区就ok了。
------解决方案--------------------历史数据太多的话 就需要分库 甚至分服务器。
------解决方案--------------------历史数据太多的话 就需要分库 甚至分服务器。
------解决方案--------------------另外分一个历史库出来