sql server 用户表分区
数据库要从1一亿条记录中查找数据,即使使用主键索引,也要将近1秒时间(SQL SERVER中,使用liek关键字查找20万条数据,就需要 大约2秒钟,这里是按照精确匹配以及主键索引联合的方式查找)。所以,我们要将用户表分区。以20 个字母为分表顺序,中文开头的的用户名一张表,数字开头的一张表。这样就有28张表,平均下来,一张表300万条数据,最多的一张表数据大约100万条数据。然后,以用户名为主索引,sql server 数据库应该可以应付过来了。
大家觉得这样可靠吗?有没有更好的方案 呢 ?
------解决方案--------------------
用户名在现实中不适合,因为人名从2个子到7、8个字都不等,另外有一些生僻字,不知道是否会需要用到Unicode、加上最常见的重名。等等。这些都会影响其作为主键的条件。可以考虑用复合索引。