我需要从数据库表中获取满足某些给定条件的x行。我知道我们可以使用ORDER BY RAND ()从MySQL获得随机行。SELECT * FROM 'vids' WHERE 'cat'=n ORDER BY RAND() LIMIT x
我正在寻找最优化的方式,做同样的{系统资源的低使用率是主要优先事项。下一个重要的优先级是查询的速度。另外,在表格设计中,我应该创建“cat”索引吗?
我昨天正在清理客户端的数据库和表,其中有15 db的数据访问状态。我决定删除所有早于2月1日的行,因为我们将所有的数据存储在每日的状态中,并且没有必要保留这些旧的单一状态。(日期时间索引)和DELETE FROM sv WHERE id < ? (id上的主索引),但是这两个查询都太慢了。他们花了超过15分钟。因此,我刚刚中止了Ctrl+C的这些查询。但是今天我发现,服务器上的mysql进程的cpu使用率高达50%,我们站点上的流量是正常的。
将sv表移出
昨天我正在清除客户端数据库和具有访问状态的表,其中有15 db的数据,所以我决定删除所有早于2月1日的数据行,因为我们将所有的数据存储在日常统计数据中,并且没有必要保留这些旧的单一统计数据。(日期时间索引)和DELETE FROM sv WHERE id < ? (id上的主索引),但是这两个查询都太慢,花费了超过15分钟。因此,我刚刚中止了Ctrl+C的这些查询。然后,我想更好的方法是复制表结构和二月行并删除旧表,但是今天我发现服务器上的mysql进程的cpu使用率</e