首页 » 网站推广 » php怎么分表技巧_mysql怎么分表

php怎么分表技巧_mysql怎么分表

访客 2024-11-23 0

扫一扫用手机浏览

文章目录 [+]

有人会问mysql集群,和分表有什么关系吗?虽然它不是实际意义上的分表,但是它起到了分表的浸染。
做集群的意义是什么呢?为一个数据库减轻包袱,说白了便是减少sql排队行列步队中的sql的数量。

举个例子:有10个sql要求,如果放在一个数据库做事器的排队行列步队中,他要等很永劫光,如果把这10个sql要求,分配到5个数据库做事器的排队行列步队中,一个数据库做事器的行列步队中只有2个,这样等待韶光是不是大大的缩短了呢?这已经很明显了。

php怎么分表技巧_mysql怎么分表

优点:扩展性好,没有多个分表后的繁芜操作(php代码)

php怎么分表技巧_mysql怎么分表
(图片来自网络侵删)

缺陷:单个表的数据量还是没有变,一次操作所花的韶光还是那么多,硬件开销大。

2,预先估计会涌现大数据量并且访问频繁的表,将其分为多少个表

这种预估大差不差的,论坛里面揭橥帖子的表,韶光长了这张表肯定很大,几十万,几百万都有可能。
谈天室里面信息表,几十个人在一起一聊一个晚上,韶光长了,这张表的数据肯定很大。
像这样的情形很多。
以是这种能预估出来的大数据量表,我们就事先分出个N个表,这个N是多少,根据实际情形而定。

优点:避免一张表涌现几百万条数据,缩短了一条sql的实行韶光

缺陷:当一种规则确定时,冲破这条规则会很麻烦,上面的例子中我用的hash算法是crc32,如果我现在不想用这个算法了,改用md5后,会使同一个用户的被存储到不同的表中,这样数据乱套了。
扩展性很差。

3,利用merge存储引擎来实现分表

我以为这种方法比较适宜,那些没有事先考虑,而已经涌现了的,数据查询慢的情形。
这个时候如果要把已有的大数据量表分开比较痛楚,最痛楚的事便是改代码,由于程序里面的sql语句已经写好了。

标签:

相关文章

php常量率低技巧_PHP 常量详解教程

PHP 常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。注释...

网站推广 2024-12-19 阅读0 评论0