摘要:
一、问题提出 随机数在数据库中是经常用到的系统。 例如,一个广告系统希望随机选择一个广告来显示。随机推荐相关文章等等。 在SQL Server中查找随机数最简单的方法为: SELECT TOP 1 * FROM Person ORDER BY NEWID() 以上SQL语句的执行计划如下: 以上这种方法,需要对整个表进行一次排序,而且还无法有效地使用索引。加入我们只需要前几条数据,那么好不容易对整个结果集完成了排序,但绝大多数都浪费了。 以上的方式缺点如下: 随着数据量的增加,随机数的产生会变慢。 数据主键并不连续,并且随机数生成算法并没有考虑到这一点。二、合理使用反模... 阅读全文