
1 niubee1 2018-10-15 09:43:02 +08:00 没用 |
2 dorothyREN 2018-10-15 09:43:24 +08:00 可能会增加,也可能会下降,这个要看具体业务类型了 |
3 KingEngine 2018-10-15 09:43:47 +08:00 一双手干活总比一只手好吧 |
4 yikyo 2018-10-15 09:45:14 +08:00 不分库:从 1000W 条数据里面查询。 分库:从 500W 条数据里面查询。 楼主明白了吗? |
6 night98 2018-10-15 09:49:42 +08:00 这个得看机器实际性能和 cpu 核心数来分析了,如果 cpu 核心利用率不高的话,通常分库还是有点作用的。 |
7 xiaoyunwei2 2018-10-15 09:51:55 +08:00 just try |
8 popbones 2018-10-15 09:51:59 +08:00 硬件影响的是速度,分库改善的是有些查询的时间复杂度。最简单的例子,比方说你有一个客户订单的表,查询一个客户的订单总数,需要筛选所选客户,然后数所有的条目;而如果你一个客户一个表,订单总数就等于表的大小。显然复杂度是不一样的。 |
9 opengps 2018-10-15 10:02:56 +08:00 via Android 没用,你可以在同服务器不同物理硬盘上 |
10 yulitian888 2018-10-15 10:03:04 +08:00 网络 IO 是可以分的,因为你可以有多块网卡,多条网线。 磁盘 IO 也是可以分的,因为你可以有多块物理硬盘。 而跟 IO 比起来,CPU 性能简直是宽裕得可以肆意挥霍了。 所以,IO 优化理论上是存在提升空间的 |
11 glacer 2018-10-15 10:06:57 +08:00 同样是一块 CPU,为什么单线程的程序就没多线程的快? |
13 tt67wq 2018-10-15 10:14:29 +08:00 那你咋不把软件全装在 C 盘呢。。。。反正电脑硬盘都一样大 unix 为啥还要搞个文件系统,直接放一个目录下得了 我国为啥要搞那么多省市,直接一个中央得了 |
15 domty 2018-10-15 10:18:14 +08:00 因为性能瓶颈不在硬件 IO 上 |
16 celeron533 2018-10-15 10:18:39 +08:00 我觉得是分出了不太用的冷数据和最近一直使用的热数据。 这样的话,冷数据库基本都在打酱油,不太会占用太多的资源。热数据库由于检索集变小,性能会有一定的提升。 |
17 pkoukk 2018-10-15 10:19:02 +08:00 一般情况下,不是更容易碰到 CPU 瓶颈么? |
18 troywinter 2018-10-15 10:36:47 +08:00 但你的性能瓶颈是在查询速度,跟硬件 io 瓶颈无关,如果你已经知道瓶颈在硬件 io,那直接升级硬件不就行了 |
19 abcbuzhiming OP @yikyo 那你的意思就是说对这种做法,水平分库是有用的,但是如果是垂直分库,就没啥用了,因为垂直分库并不降低单个库的数据量 |
20 kernel 2018-10-15 11:05:51 +08:00 via Android 这个办法有用的话只能说明 MySQL 的程序员水平不行,机器的性能都榨不干 |
21 koolob 2018-10-15 11:34:32 +08:00 有可能只是为了节约当前的数据库成本,压力小时一台机器就够用。如果将来压力上来了,单台机器性能不够,直接把其中的某些库转移到另外的机器上,改个配置就可以用了。 |
23 div class="sep3"> likuku 2018-10-15 12:48:50 +08:00 当前这台机器性能耗尽了么?已经耗尽的话,两个库都在同一个机器上,对提升效能没用。 |
24 haozes 2018-10-15 12:55:03 +08:00 有时有用。你想一下,假如有个表,没有索引,如果一张表有 1KW 条记录,拆开了,如果你知道在哪个表里,本来查要遍历 1KW,现在可能只要遍历 500W 条。你以前只能遍历 1KW |
25 flight2006 2018-10-15 17:47:18 +08:00 @haozes 知道在哪个表就是一个索引。。人肉索引 |