sql随机查询数据的几种解决方案


sql随机查询数据的几种解决方案:

方法1:最普通的写法,性能慢

SELECT top 10 ID,name FROM dt_keyword ORDER BY NEWID()

方法2:性能还可以

//先给数据库增加一列
ALTER TABLE dt_keyword ADD SortKey AS NEWID()

//查询时执行下边sql
SELECT top 10 ID,name FROM dt_keyword WHERE SortKey LIKE 'A%B%C%D%E%F%' 

方法3:效率还好,含sql2008以上支持

SELECT TOP 10 * FROM dt_keyword tablesample (10000 Rows)

方法4:如果id连续,速度最快

SELECT top 10 * FROM dt_keyword   
where id>=(select count(ID) from dt_keyword)*rand()

方法5:如果id不连续,速度最快

SELECT top 10 * FROM dt_keyword   
where id>=(select max(ID) from dt_keyword)*rand()

相关阅读 >>

sql top 查询前几行

自动定时备份sqlserver数据库的方法

mysql的select 学习笔记

sqlserver删除某数据库中所有表实现思路

mysql高级进阶sql语句总结大全

mybatis动态sql实现逻辑代码详解

sql的临时表使用小结

sql性能优化方法及性能测试

sqlserver 锁表语句分享

c#操作linq to sql组件进行数据库建模的基本教程

更多相关阅读请进入《sql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...