本方案还处理论证阶段。
一般来讲,数据库的查询耗时会随着记录数的增加而增加,而索引的引入只不过是让这个耗时增加得不那么快而已。
但是 @宏哥 最近研究出一种全新的解决方案可以彻底的解决这个问题,他委托我对此技术进行发布和宣传。据说宏哥已经在其打造软件王国幻想的第一款软件中使用了该技术。
下面我简单的介绍一下宏哥全新的方案:
一般我们在做数据库的时候,表结构都是固定的,例如用户表,用户有什么属性信息基本都是确定的。当有新用户加入的时候就往表里插入一条记录。
@宏哥 说这种做法傻X透顶。他举了个例子说:就像以前没有分布式技术时代,想要提升系统性能就必须提升机器的配置,也就是所谓的“垂直伸缩”,但是配置的提升很快就到头了,升不上去了。然而现在是分布式时代了,我们提倡的是系统的水平伸缩能力。
所以宏哥的系统里,所有的表都只有一条记录,那么我怎么插入一条记录呢?请看下列的 SQL 语句你就能猜出个大概:
-- 假设要插入的用户 id 是 2438
ALTER TABLE users ADD user_2438 TEXT;
UPDATE users SET user_2438 = "{'name':'码云','domain':'gitee.com'}";
怎么样?非常简单对不对,而且性能极佳对不对?
那咱们再来看看查询:
SELECT user_2438 FROM users
那么简单的查询,而且表里只有一条记录,所以这个 SQL 语句执行时间相当于是 0ms。
删除用户怎么办呢?
ALTER TABLE users DROP user_2438;
没错,本文用到的演示例子就是基于宏哥喜爱的 PG 数据库。
看到这里,我惊呆了。
真的,我以前一直觉得 @宏哥 挺傻逼的,没想到竟有如此创举,他完全可以获得计算机图灵奖。
深深的为宏哥的智商所折服,宏哥是开源中国 500 万会员的智商担当。
这个, 的确是我最近研究出来的新技术
额。。。。 不觉得厉害。。
Q1:我想查询username = "abc"的用户 怎么查?
Q2:mysql 单表的字段数没有限制吗?
Q3: 每次添加记录都得3条SQL 貌似很不友好。
Q4: 既然这样用的话 与直接用mongodb 有啥区别? 为什么不直接用mongodb呢。。。。
mark , 请教一下如果存储大量数据呢 ,如何证明高性能呢
做个测试没,数据量大于1亿条的时候查询结果怎么样,两年内能得到结果吗,2020年见
不把详细方案说清楚,我就当笑话看了