Heim >Backend-Entwicklung >PHP-Tutorial >关于分表的有关问题

关于分表的有关问题

WBOY
WBOYOriginal
2016-06-13 12:16:45920Durchsuche

关于分表的问题
我现在数据库中有三个表单数据都超过了500万数据,其中有个表超过1000千万,现在查询速度越来越慢

请教高手以下几个问题

1.将超过100万的表就进行分表.

2.如果B数据表拆分100万的表有十个,那么A表中的ID在B表有5条数据,保存在B数据表拆分的10个表中(问题出来了,在读取数据时,不可能去读去B表中所有的表,这5条数据可能放在拆分的第5与第6个表中,如果这样我们只里要读取B表的第5个表与第6个表就行了。前提是我们根本不知道数据在那)。

------解决思路----------------------
分表是有条件的,并非简单的按记录顺序切断
比如你的 A 和 B 是按 id 关联的,那么 B 就要按 A.id 拆分
这样在已知 A.id 的情况下,按拆分规则就可推算出相关的记录会出现在哪些 Bn 中

如果你的表间存在多对多的关系,那么分表就没有意义了
此时应使用过渡表保存关联关系,查询时要分两步走,而不是一次关联所有表
由于过渡表一般只有2列,虽然记录数很多,但一次性加载到内存的可能性很大(就算是需要多次加载,但每次可加载的记录数也很多)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn