方法1
import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print (endtime – starttime).seconds
方法 2
start = time.time()
run_fun()
end = time.time()
print end-start
方法3
start = time.clock()
run_fun()
end = time.clock()
print end-start
方法1和方法2都包含了其他程序使用CPU的时间,是程序开始到程序结束的运行时间。
方法3算只计算了程序运行的CPU时间

来源:http://blog.sina.com.cn/s/blog_56d8ea900100xzg3.html

crontab选项-e是修改,-r则是直接删除用户定时任务计划任务,而且没有提示,直接删除!!!。蛋疼的是-e -r 2个参数在键盘上的位置非常接近。经常容易不小心就删除了。
本文通过建立crontab的别名,即alias,实现当检测到用户输入crontab时调用/usr/bin/cron.sh来判断用户操作从而避免误删除
实现:
1.新建shell
# vim /usr/bin/cron.sh,内容如下

Read More →

1.mysql 查询一个表中没有存在在另一个表的数据

SELECT * FROM A
WHERE  id  NOT  IN  ( SELECT id FROM B);

或者
SELECT * FROM A
WHERE
NOT  EXISTS  (
SELECT 1
FROM B
WHERE B.id = A.id );

或者
SELECT
A.*
FROM
A  LEFT JOIN B
ON (A.id = B.id)
WHERE
b.id  IS  NULL

2.Mysql中怎么筛选一个表之后然后再和另外一个表做表连接

例如A表有id,name,adress字段,B表有id,country,work字段,现在我想筛选表A中id大于10的列然后,筛选后的表和B表进行连接
select a.id , a.name ,a.adress,B.country from
( select * from A where id>10) a
join B on a.id=B.id
3.mysql根据一个表的id删除另一个表的记录
delete from Awhere id in (select id from B)。

要想知道每个数据库的大小的话,步骤如下 :

    1、进入information_schema 数据库(存放了其他的数据库的信息,重要 如果是navicat必须切换到information_schema数据库)

use information_schema;

2、查询所有数据的大小:

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables;

3、查看指定数据库的大小:

比如查看数据库home的大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’home’;

4、查看指定数据库的某个表的大小

比如查看数据库home中 members 表的大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’home’ and table_name=’members’;

 

如国你不喜欢切换数据库  你可以这样写

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from information_schema.tables where table_schema=’home’;

先说一下需求,最近做获取微信用户openid的时候  由于Chrome拉数据的时候出了问题,100万的数据  重复了80多万。那么这里需要把openid去重

 

附录:查询表数量相关
SELECT COUNT(age) FROM tableA
SELECT COUNT(DISTINCT age) from tableA

1.网上的一种说法,我试了一半不试了,太™慢了这里贴出来

先对要去重的表进行索引(处理重复的那个字段).将数据group by后导入到新的表中,导入时,可能需要分多次导入,因为电脑的内存有限,设置一下tmp_table_size或许可以一下子多导点
使用sql如下: Insert into Table2 select * from Table1 group by 重复字段名称 limit 100000
使用以上SQL,并个性Limit参数多进行几次导入操作即可

Insert into m_temp select * from temps group by openid limit 440000,10000;

2.这个方法亲测可以用  delete from 表名 where 字段ID in (select * from (select max(字段ID) from 表名 group by 重复的字段 having count(重复的字段) > 1) as b);

delete from temps where id in (select * from (select max(id) from temps group by openid having count(openid) > 1) as b);

我用的是navicat处理,执行了几次才完成