MSSQL 2000 分表 查询
MSSQL 2000 用户表可能容纳100万行用户记录
程序中大多是以ID查询对应的用户信息,我想按ID分表,以提交数据库查询效率
每个表存放5000条记录,先预建200个表,表名和对应的ID值如下:
User_1 id(1~4999)
User_2 id(5000~9999)
User_3 id(10000~14999)
User_4 id(15000~19999)
User_5 ...
User_6
User_7
User_8
User_9
User_10
......
User_200
当新用户注册时,程序检测用户名是否存在,需要在200个表在查询
Select Top 1 id From User_1 Where UserName='chen'
Union All
Select Top 1 id From User_2 Where UserName='chen'
Union All
Select Top 1 id From User_3 Where UserName='chen'
Union All
Select Top 1 id From User_4 Where UserName='chen'
Union All
Select Top 1 id From User_5 Where UserName='chen'
......
Union All
Select Top 1 id From User_200 Where UserName='chen'
使用“Union All”连接200个表查询,查询效率是不是会很低?
我这样分表可行吗?有什么方法可以提高多表查询的效率吗?
程序中大多是以ID查询对应的用户信息,我想按ID分表,以提交数据库查询效率
每个表存放5000条记录,先预建200个表,表名和对应的ID值如下:
User_1 id(1~4999)
User_2 id(5000~9999)
User_3 id(10000~14999)
User_4 id(15000~19999)
User_5 ...
User_6
User_7
User_8
User_9
User_10
......
User_200
当新用户注册时,程序检测用户名是否存在,需要在200个表在查询
Select Top 1 id From User_1 Where UserName='chen'
Union All
Select Top 1 id From User_2 Where UserName='chen'
Union All
Select Top 1 id From User_3 Where UserName='chen'
Union All
Select Top 1 id From User_4 Where UserName='chen'
Union All
Select Top 1 id From User_5 Where UserName='chen'
......
Union All
Select Top 1 id From User_200 Where UserName='chen'
使用“Union All”连接200个表查询,查询效率是不是会很低?
我这样分表可行吗?有什么方法可以提高多表查询的效率吗?
作者: chenzhi0304 发布时间: 2011-06-12
为什么每个表只存5000记录?
作者: maco_wang 发布时间: 2011-06-12
就算用2个表,也只能一个一个查询,貌似没有其他方法.
作者: dawogui 发布时间: 2011-06-12
引用 1 楼 maco_wang 的回复:
为什么每个表只存5000记录?
为什么每个表只存5000记录?
每个表存5000条记录,这样单个表查询速度会快些。
作者: chenzhi0304 发布时间: 2011-06-12
为什么要分表 性能有问题吗 这么少的数据完全没必要分表
作者: rucypli 发布时间: 2011-06-12
引用 4 楼 rucypli 的回复:
为什么要分表 性能有问题吗 这么少的数据完全没必要分表
为什么要分表 性能有问题吗 这么少的数据完全没必要分表
虽然数据不多,但软件读取更新非常频繁,性能下降,所以考虑分表。
作者: chenzhi0304 发布时间: 2011-06-12
引用 5 楼 chenzhi0304 的回复:
引用 4 楼 rucypli 的回复:
为什么要分表 性能有问题吗 这么少的数据完全没必要分表
虽然数据不多,但软件读取更新非常频繁,性能下降,所以考虑分表。
引用 4 楼 rucypli 的回复:
为什么要分表 性能有问题吗 这么少的数据完全没必要分表
虽然数据不多,但软件读取更新非常频繁,性能下降,所以考虑分表。
分与不分,读取的频繁程度不会改变,分了以后,读取得花更多的时间,性能下降得更厉害.
作者: dawogui 发布时间: 2011-06-12