mysql数据库要放1亿条信息怎样分表?

mysql数据库要放1亿条信息怎样分表?,第1张

mysql数据库对1亿条数据的分表方法设计:

目前针对海量数据的优化有两种方法:

(1)垂直分割

优势:降低高并发情况下,对于表的锁定。

不足:对于单表来说,随着数据库的记录增多,读写压力将进一步增大。

(2)水平分割

如果单表的IO压力大,可以考虑用水平分割,其原理就是通过hash算法,将一张表分为N多页,并通过一个新的表(总表),记录着每个页的的位置。

假如一个门户网站,它的数据库表已经达到了1亿条记录,那么此时如果通过select去查询,必定会效率低下(不做索引的前提下)。为了降低单表的读写IO压力,通过水平分割,将这个表分成10个页,同时生成一个总表,记录各个页的信息,那么假如我查询一条id=100的记录,它不再需要全表扫描,而是通过总表找到该记录在哪个对应的页上,然后再去相应的页做检索,这样就降低了IO压力。

LEFT()函数是一个字符串函数,它返回具有指定长度的字符串的左边部分。

下面是LEFT()函数的语法 -

INTERVAL关键字

INTERVAL关键字可以用于计算时间间隔,可以有以下用法。

1,直接计算时间间隔。

例1:查询当前时间之前2个小时的日期:

MySQL DATE_ADD() 函数

定义和用法

DATE_ADD() 函数向日期添加指定的时间间隔。

语法

DATE_ADD(date,INTERVAL expr type)

我们希望向 "OrderDate" 添加 2 天

DATE_ADD(OrderDate,INTERVAL 2 DAY)

CAST函数 将任何类型的值转换为具有指定类型的值 https://www.yiibai.com/mysql/cast.html

rand() 的取值范围为[0,1)

tinyint字段举例 unsigned 字段的取值范围是0-255,而 signed 的范围是-128 - 127

SECOND


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5905224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存