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
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 知道在哪个表就是一个索引。。人肉索引
|