alter table(alter table删除字段)
使用过MySQL数据库的开发人员,应该非常清楚,有一种数据类型为timestamp,但这种数据库类型,存储的时间戳是有上限的,只能到“2038-01-19 03:14:07 ”。
生产MySQL数据库还是有很多表使用了timestamp字段类型,我在想,要是到了2038年,到了上限,存储不了记录怎么办?
还真有一个朋友昨天问过,他线上的一个业务系统,存储的timestamp的数据超过了“2038-01-19 03:14:07 ”,问我怎么办,今天就找了个MySQL5.7数据库测试一下,看看怎么解决。#互联网公司茶水间#
主要有2种解决方案
方案1:
直接将字段数据类型(timestamp)修改成数据类型(datetime),我在测试环境验证了一下,还真能直接修改,修改之后,原来表里的数据显示正常,但是有一个缺点,就是表特别大的时候,会非常麻烦。
alter table t_test4 modify intime datetime#隔壁家的程序员#
方案2:
新建一个数据类型(datetime)的字段,修改应用代码,在某个时间以后,启用新字段,不再使用老字段,但是此方案比较复杂,要修改的代码比较多。#程序员#
为什么 mongoDb 有这么多缺点,但在大型公司中使用得如此之多?
这是因为 MongoDB 采用了这些特性。
各种规模的组织都在采用 MongoDB,因为它使他们能够更快地构建应用程序,处理高度多样化的数据类型,并更有效地大规模管理应用程序。
MongoDB 灵活的数据模型还意味着您的数据库架构可以随着业务需求而发展。例如,将单个新字段添加到 MySQL 数据库所需的 ALTER TABLE 命令需要数月才能执行。他们迁移到 MongoDB 是因为它可以适应对数据模型的更改,而无需进行如此昂贵的模式迁移。
MongoDB 还可以在多个分布式数据中心内和跨多个分布式数据中心进行扩展,提供以前使用 MySQL 等关系数据库无法实现更高级别的可用性和可扩展性。
随着您的部署在数据量和吞吐量方面的增长,MongoDB 可以轻松扩展,无需停机,也无需更改您的应用程序。相比之下,使用 MySQL 实现规模化通常需要大量的定制工程工作。
最好的是 MongoDB 支持自动分片。
但是正如你所说的 MongoDB 有某些缺点,我同意这一点。 Mongodb 无法处理复杂的事务,所以电子商务网站使用 MongoDB 肯定是个问题。这是个解决方案:
MongoDB 和 MySQL 混合部署的例子很多。在某些情况下,关键在于使用正确的工具来完成工作。例如,许多电子商务应用程序使用 MongoDB 和 MySQL 的组合。产品目录包含多个不同属性的产品,非常适合MongoDB灵活的数据模型。另一方面,需要复杂交易的结账系统很可能建立在 MySQL 或其他关系技术上。





