我想知道我是否有一个大表(50列和50万条记录)并且我想使用select查询,如果我将我的大表拆分为一个较小的表(20列和50万条记录)加入一些小表(大约5列),我想使用相同的选择,这些方式中的哪一种在速度方面更好?
例如:
第一个包含巨大表格的案例:
select username,password,nationalAdd from baseTBL
使用较小的表和一些连接的第二种情况:
select username,password,nationalAdd from baseTBL
inner join dependTBL1 on baseTBL.user_id=dependTBL1.id
inner join dependTBL2 on baseTBL.national_id=dependTBL2.id
答案 0 :(得分:1)
通常答案是:垂直分区没有性能优势。此外,很少从水平分区中获得性能优势。
我会在这里解决垂直问题。
NULLs
。WHERE
子句触及两个表,这对性能来说真的很糟糕。将所有搜索条件保留在主分区中。Location
表,而不是4个表。结论:您的问题过于模糊,无法为您提供适用于 架构的答案。