解答一个数据库优化速度问题! select *from tborder by newid() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 反正你每次都要读取全部的 200万条数据记录, 所以没什么需要优化的两种方法一、 直接 select * from 数据表 order by rand(); 然后进行分配。二、 直接 select * from 数据表 然后在程序中产生 1-10 的随机分配,由于你是 200万条数据,所有自然分布概率会把这些记录平均分配到10个业务员。第二种效率要高。 首先先谢谢前面2位的回答,ACMAIN_CHM的第二种方法我用过,发现其实没有办法真正做到平均分配 如果一定要 严格的平均分配。则高效的一种方案是采用与第二种相同的方案 select * from 数据表然后在程序中生成1-100的一个随机数列,再按照产生的这个随机数列,把记录分配到不同的1-10号业务员。这种方案可以做到严格平均,但无法实现严格意义上的随机。 恩,那再次请教ACMAIN_CHM,换一种问法,如果非要重新更新200万条数据,你觉的mysql需要多长时间怎么做才是最高效的 再次提问ACMAIN_CHM如果用存储过程实现,会不会比程序来实现来个更高效? ID,PHONENUM1 132...2 133...200WAN 139...表里这样存储,获取随机的ID,取10万条,为什么需要更新ID字段内容呢?select * from 数据表 order by rand() limit 10万; 回复zuoxingyu,用rand() 每次都是随机的可是我需要的是在3个月内客户分到到号码都是一样的在下一次(也就是下次的3个月后)才重新再随机分配 mysql新建表时提示Table 'db.table' doesn't exist linux下安装mysql问题,急,搞到现在了 数据库备份与恢复的问题 PostgreSQL是否支持Job? 关于drop 索引的问题~~~? 求救:liunx mysql 启动异常 高手看看 折磨我几天了 mysql数据库导出数据到文件? mysql c api调用问题 jsp+mysql中文问题(freebsd+resin+jdk环境) 100分挑战高手:这样的MySQL查询如何写? 熟悉linux下安装mysql的请进 求一sql语句
一、 直接 select * from 数据表 order by rand(); 然后进行分配。
二、 直接 select * from 数据表 然后在程序中产生 1-10 的随机分配,由于你是 200万条数据,所有自然分布概率会把这些记录平均分配到10个业务员。第二种效率要高。
则高效的一种方案是采用与第二种相同的方案
select * from 数据表
然后在程序中生成1-100的一个随机数列,再按照产生的这个随机数列,把记录分配到不同的1-10号业务员。这种方案可以做到严格平均,但无法实现严格意义上的随机。
ID,PHONENUM
1 132...
2 133...
200WAN 139...表里这样存储,获取随机的ID,取10万条,为什么需要更新ID字段内容呢?
select * from 数据表 order by rand() limit 10万;