| 店主:成功助手 |
|
 |
|
|
|
|
|
|
|
|
| |
|
|
|
|
| [转贴] 随机抽取数据的效率问题 [2008-04-08 17:34:43] |
随机查询用这个么?
select * from table_name order by rand() limit 0,1000;
有更快的SQL层实现的
你这种写法的SQL在上万条的表相当慢.
下面介绍随机查询两种方法,
SELECT * FROM
`table`
WHERE
id >= (SELECT
floor(
RAND() * ((SELECT
MAX(id)
FROM
`table`)-(SELECT
MIN(id)
FROM
`table`)) + (SELECT
MIN(id)
FROM
`table`)))
ORDER
BY
id
LIMIT
1;
20万条,一秒
SELECT *
FROM
`table`
AS
t1
JOIN
(SELECT
ROUND(RAND() * ((SELECT
MAX(id)
FROM
`table`)-(SELECT
MIN(id)
FROM
`table`))+(SELECT
MIN(id)
FROM
`table`))
AS
id)
AS
t2
WHERE
t1.id >= t2.id
ORDER
BY
t1.id
LIMIT
1;
20万条,半秒 [阅读全文] |
|
| 评论:(1) 推荐:(0) 点击:(281) |
| [转贴] 摘录自 User manager for PureFTPd 的大小转换函数 [2007-03-28 08:37:16] |
PureFTPd 是 *nix 下的一个 FTP 服务器软件,而User manager for PureFTPd 则是为了方便在线管理 ftp 用户设计制作的。作者是:M.Mastenbroek。
PHP:
<?php // 说明:摘录自 User manager for PureFTPd 的大小转换函数 // 整理:http://www.CodeBit.cn function DisplayFileSize($filesize) { $array = array( 'YB' => 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024, 'ZB' => 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024, 'EB' => 1024 * 1024 * 1024 * 1024 * 1024 * 1024, 'PB' => 1024 * 1024 * 1024 * 1024 * 1024, 'TB' => 1024 * 1024 * 1024 * 1024, 'GB' => 1024 * 1024 * 1024, 'MB' => 1024 * 1024, 'KB' => 1024, ); if($filesize <= 1024) { $filesize = $filesize . ' B'; } foreach($array AS $name => $size) { if($filesize > $size || $filesize == $size) { $f…… [阅读全文] |
|
| 评论:(1) 推荐:(0) 点击:(910) |
|