MySQL对所有表收集统计信息(Python 2脚本)



  1. [root@MySQL01 script]# vim analyze.py
  2. #!/usr/bin/env python
  3. # -*-encoding:utf8-*-
  4. #

  5. import MySQLdb
  6. import time
  7. step = 0
  8. db = MySQLdb.connect(host = '192.168.56.101',port = 3306,user = 'neo', passwd = 'neo' , db = 'information_schema')
  9. conn = db.cursor()

  10. sql = '''select TABLE_SCHEMA, table_name from information_schema.tables where table_schema not in ('information_schema', 'performance_schema', 'mysql') '''
  11. # print sql
  12. conn.execute(sql)
  13. if conn.rowcount > 0:
  14.         for item in conn.fetchall():
  15.                 sql = '''analyze table %s.%s''' % (item[0], item[1])
  16.                 print sql + ' operation executes successfully!'
  17.                 conn.execute(sql)

  18. time.sleep(0.5)

  19. conn.close()
  20. db.close()

  21. # 执行脚本
  22. [root@MySQL01 script]# python2.6 analyze.py
  23. analyze table test.area operation executes
  24. analyze table test.class operation executes

请使用浏览器的分享功能分享到微信等