MySQL和MSSQL中优化随机查询速度

经测试,在MSSQL中用以下方法随机读取3W多条数据,只用了1-2秒。而在实际运用中,肯定是不会随机读取这么多数据的

MSSQL

select id from tablename where id >= (select floor(rand() * ((select max(id) from tablename) - (select min(id) from tablename)) + (select min(id) from tablename))) order by id

MYSQL
select * from tablename where id >= (select floor(rand() * ((select max(id) from tablename) - (select min(id) from tablename)) + (select min(id) from tablename))) order by id limit 1;

posted @ 2011-04-11 16:53  冷寒生  阅读(942)  评论(0编辑  收藏  举报
IT知识库