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个表查询,查询效率是不是会很低?
我这样分表可行吗?有什么方法可以提高多表查询的效率吗?