首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/wsafight/blog/4519102

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

数据库快速迁移10亿级数据

问题分析 经过几分钟的排查,数据库情况如下: 数据库采用Sqlserver 2008 R2,单表数据量21亿。 无水平或者垂直切分,但是采用了分区表。分区表策略是按时间降序分的区,将近30个分区。正因为分区表的原因,系统才保证了在性能不是太差的情况下坚持至今。 此表除聚集索引之外,无其他索引,无主键(主键其实是利用索引来快速查重的)。所以在频繁插入新数据的情况下,索引调整所耗费的性能比较低。 至于聚集索引和非聚集索引等知识,请各位移步google或者百度。 至于业务,不是太复杂。经过相关人员咨询,大约40%的请求为单条Insert,大约60%的请求为按class_id 和in_time(倒序)分页获取数据。Select请求全部命中聚集索引,所以性能非常高。这也是聚集索引之所以这样设计的目的。 解决问题 由于单表数据量已经超过21亿,并且2017年以前的数据几乎不影响业务,所以决定把2017年以前(不包括2017年)的数据迁移到新表,仅供以后特殊业务查询使用。经过查询大约有9亿数据量。数据迁移工作包括三个个步骤: 从源数据表查询出要迁移的数据 把数据插入新表 把旧表的数据删除 传统做法 ...

没想到,Git居然有3种“后悔药”!

你知道Git版本控制系统中都有哪些“后悔药”吗? 本文通过案例讲解git reset 、 git revert 、 git checkout在版本控制中的作用; 场景 小明同学作为新人加入到一个新的项目组中做开发,在项目的迭代开发中,小明勤勤恳恳的写代码,直到有一次... 小明:完了,完蛋了 洋仔:怎么了,一惊一乍的 小明:我把错误代码用git commit后还push到线上代码库了! 这可怎么办! 洋仔:莫慌,git有“后悔药”! 洋仔:容我给你慢慢道来。 但是我们要先知道一些git的基础知识,你才能更好的理解git命令的作用 预备知识 git将项目的存储分为4部分,每部分有自己作用, 见下图: Workspace:工作区(当前用户操作修改的区域) Index / Stage:暂存区 (add后的区域) Repository:仓库区或本地仓库(commit后的区域) Remote:远程仓库(push后的区域) 整体过程可以简述为: 工作区–>add–>暂存区–>commit–>本地仓库区–>push–>远程仓库区 远程仓库区–>fetch–&...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。