-
mysql统计大于0有多少_python 统计MySQL大于100万的表
2021-01-28 06:26:42需要统计出行数大于100万的表,进行统一优化。需要筛选出符合条件的表,统计到excel中,格式如下:库名表名行数db1users1234567二、统计表的行数统计表的行数,有2中方法:1. 通过查询mysql的information_schema...一、需求分析
线上的MySQL服务器,最近有很多慢查询。需要统计出行数大于100万的表,进行统一优化。
需要筛选出符合条件的表,统计到excel中,格式如下:
库名
表名
行数
db1
users
1234567
二、统计表的行数
统计表的行数,有2中方法:
1. 通过查询mysql的information_schema数据库中INFODB_SYS_TABLESTATS表,它记录了innodb类型每个表大致的数据行数
2. select count(1) from 库名.表名
下面来分析一下这2种方案。
第一种方案,不是精确记录的。虽然效率快,但是表会有遗漏!
第二钟方案,才是准确的。虽然慢,但是表不会遗漏。
备注:
count(1)其实这个1,并不是表示第一个字段,而是表示一个固定值。
count(1),其实就是计算一共有多少符合条件的行。
1并不是表示第一个字段,而是表示一个固定值。
其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1.
写入json文件
下面这段代码,是参考我之前写的一篇文章:
在此基础上,做了部分修改,完整代码如下:
#!/usr/bin/env python3#coding: utf-8
importpymysqlimportjson
conn=pymysql.connect(
host="192.168.91.128", #mysql ip地址
user="root",
passwd="root",
port=3306, #mysql 端口号,注意:必须是int类型
connect_timeout = 3 #超时时间
)
cur= conn.cursor() #创建游标
#获取mysql中所有数据库
cur.execute('SHOW DATABASES')
data_all= cur.fetchall() #获取执行的返回结果#print(data_all)
dic= {} #大字典,第一层
for i indata_all:if i[0] not in dic: #判断库名不在dic中时
#排序列表,排除mysql自带的数据库
exclude_list = ["sys", "information_schema", "mysql", "performance_schema"]if i[0] not in exclude_list: #判断不在列表中时
#写入第二层数据
dic[i[0]] = {'name': i[0], 'table_list': []}
conn.select_db(i[0])#切换到指定的库中
cur.execute('SHOW TABLES') #查看库中所有的表
ret = cur.fetchall() #获取执行结果
for j inret:#查询表的行数
cur.execute('select count(1) from `%s`;'%j[0])
ret=cur.fetchall()#print(ret)
for k inret:print({'tname': j[0], 'rows': k[0]})
dic[i[0]]['table_list'].append({'tname': j[0], 'rows': k[0]})
with open('tj.json','w',encoding='utf-8') as f:
f.write(json.dumps(dic))
View Code
三、写入excel中
直接读取tj.json文件,进行写入,完整代码如下:
#!/usr/bin/env python3#coding: utf-8
importxlwtimportjsonfrom collections importOrderedDict
f=xlwt.Workbook()
sheet1= f.add_sheet('统计', cell_overwrite_ok=True)
row0= ["库名", "表名", "行数"]#写第一行
for i inrange(0, len(row0)):
sheet1.write(0, i, row0[i])#加载json文件
with open("tj.json", 'r') as load_f:
load_dict= json.load(load_f) #反序列化文件
order_dic = OrderedDict() #有序字典
for key in sorted(load_dict): #先对普通字典key做排序
order_dic[key] = load_dict[key] #再写入key
num= 0 #计数器
for i inorder_dic:#遍历所有表
for j in order_dic[i]["table_list"]:#判断行数大于100万时
if j['rows'] > 1000000:#写入库名
sheet1.write(num + 1, 0, i)#写入表名
sheet1.write(num + 1, 1, j['tname'])#写入行数
sheet1.write(num + 1, 2, j['rows'])
num+= 1 #自增1
f.save('test1.xls')
View Code
执行程序,打开excel文件,效果如下:
-
C语言:已知A大于B大于C,且A+B+C小于100,求满足1/A平方+1/B平方=1/C平方的共有多少组?
2018-04-02 23:30:31100,求满足1/A^2+1/B^2=1/C^2的共有多少组? 注意事项 这道题的要求没有加入大于零的范围,因而从这一点考虑会导致无穷多解,所以我强行加了这一条件。 解答示例 #include<stdio.h> int ...题目来源:大工慕课 链接
作者:Caleb Sung题目要求
C语言:已知A>B>C,且A+B+C<100,求满足1/A^2+1/B^2=1/C^2的共有多少组?
注意事项
这道题的要求没有加入大于零的范围,因而从这一点考虑会导致无穷多解,所以我强行加了这一条件。
解答示例
#include<stdio.h> int main(){ int a, b, c, num=0; for(c=0; c<100; c++){ for(b=c+1; b<100; b++){ for(a=b+1; a<100; a++){ if((b*b*c*c+a*a*c*c==a*a*b*b) && (a+b+c<100)){ printf("A=%d, B=%d, C=%d\n", a, b, c); num++; } } } } printf("共有%d种组合。", num); return 0; }
运行结果
-
element Slider 滑块 控制多个总合不大于多少
2021-01-16 15:51:19今天去写三个滑块总合 不能大于100的时候 发现Slider 滑块组件 @input不能传又获取value 又传参 猛地还转不过来弯 按着我的思路写完发现实现了 但是不是我想要的 各种办法最后发现是数据改变了 页面没渲染 坑死我了 ...今天去写三个滑块总合 不能大于100的时候 发现Slider 滑块组件 @input不能传又获取value 又传参 猛地还转不过来弯 按着我的思路写完发现实现了 但是不是我想要的 各种办法最后发现是数据改变了 页面没渲染 坑死我了 害我找半天 代码附上直接看
<tamplate> <el-slider v-model="values[0]" :disabled="disabled" class="input" @input="proportion(0)" ></el-slider> <el-slider v-model="values[0]" :disabled="disabled" class="input" @input="proportion(0)" ></el-slider> <el-slider v-model="values[2]" :disabled="disabled" class="input" @input="proportion(2)" ></el-slider> </tamplate> data() { return { disabled:true,//输入框状态 values:[0,0,0], }; }, //计算比例 proportion(index){ let all=this.values.reduce((x, y) => x + y); if(all>100){ let value=100-all+this.values[index]; this.values[index]=value; this.$forceUpdate(); } },
-
编写一个程序,读入分数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均...
2019-04-23 16:16:32编写一个程序,读入分数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分是100分。 代码 package testgrade; import java....- 题目要求
编写一个程序,读入分数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分是100分。 - 代码
package testgrade; import java.util.Scanner; /** * * @author shinan */ public class TestGrade { /** * @param args the command line arguments */ public static double Average(int[]array,double i){ int sum=0; for(int j=0;j<i;j++){ sum+=array[j];} return (sum/i); } public static void main(String[] args) { // TODO code application logic here Scanner input=new Scanner(System.in); System.out.println("Enter grade for students:"); int []grade=new int[10]; int i,j; for(i=0;i<grade.length;i++){ grade[i]=input.nextInt(); int temp= grade[i]; if(temp>0&&temp<100) grade[i]=temp; else break; } int count1=0; int count2=0; if(i!=0){ double ave=Average(grade,i); System.out.println(ave); for(j=0;j<i;j++){ if(grade[j]>=ave) count1++; else if(grade[j]<ave) count2++;} } System.out.println("the number of greaterthanaverage is :" + count1); System.out.println("the number of greaterthanaverage is :" + count2); } }
- 代码截图
- 题目要求
-
当价格为50--100时,优惠10%,当价格大于100时,优惠20%,低于50,不享受优惠,你会了吗?
2020-04-29 01:08:08当价格为50--100时,优惠10%,当价格大于100时,优惠20%,低于50,不享受优惠 思路:通过if 。。elif实现 while True: pice =int(input('请问多少钱?')) if 50 <= pice <= 100: print('你的折扣为{},折扣... -
js滚动大于多少菜单就开始固定
2016-11-26 09:50:00//导航置顶 $(window).scroll(function () { var pos = $(window).scrollTop(); if (pos > 100) { $("#menu").addClass("navbar-fixed-top"); $("body").css(... -
实现Form表单域中Post大于100K的数据
2006-09-26 15:14:00查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据有限制,IIS4中为80K字节,IIS5中为100K字节,目前还不清楚iis6.0有没有这样的限制或者限制是多少K。下面是微软提供的几个解决方法:1、用Request.... -
100阶乘末尾有多少个零
2016-07-08 15:21:00必然是有两个数字相乘进位了,而10 = 2 * 5,所以一个数字末尾有多少个0,取决于它分解因子后,有多少个2和有多少个5,假设2的个数为m,5的个数为n,那么最终的结果为min(m,n),而根据实际情况,当数字大于10且末尾... -
mysql计算100天后的日期_100天后的日期是多少
2021-02-05 19:17:48开始进入it行业的时候面试官问过我一个问题:假设今天是2012年1月1日,7天后是多少,100天呢,1万天呢,当时没有回答好.当时我的思路:首先想到的是天数很大,然后需要我怎么处理1. 看天数days是否大于365,是的话算... -
Jquery--滚动监听事件,当滚动高度大于多少的时候,将一个div置顶
2020-07-21 10:38:13一、滚动监听事件,当滚动高度大于指定的大小的时候,修改指定div的css属性,将一个div置顶 (1)代码 <style> *{margin: 0;padding: 0;} .check_conTitle{ width: 100%; height: 50px; line-height: 50px... -
100天后的日期是多少
2012-06-22 09:57:24开始进入it行业的时候面试官问过我一个问题:假设今天是2012年1月1日,7天后是多少,100天呢,1万天呢,当时没有回答好. 当时我的思路:首先想到的是天数很大,然后需要我怎么处理 1. 看天数days是否大于365,是的... -
编写一个程序,读入个数不确定的(<=100个)考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数...
2016-10-22 09:28:06编写一个程序,读入个数不确定的(<=100个)考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分为10分。 样例输入 9.3 5.3 4.1 ... -
js种计算1~100的和,当总和大于4000的时候,退出循环,输出总数;
2018-06-25 10:13:40var sum = 0;for(var i=1;...=100; i++){ sum += i; //判断sum是否大于4000 if(sum>4000){ //查看这个i多少 console.log(i); break;//此时sum已经大于了4000 }}console.log(sum);... -
判断100-200之间有多少素数 并输出所有素数
2017-09-15 09:02:52* 判断100-200之间有多少素数 并输出所有素数 * * 质数(prime number)又称素数,有无限个。 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。 * */ public class suShu { ... -
输出100以内素数,1000以内完数,以及1000以内有多少个9.
2016-11-08 22:42:51问题1:输出100以内的素数(大于1的自然数中,除了1和它本身,不再有其他因数) 问题2:输出1000以内的完数。(除了它本身的所有约数之和与其自身相等) 例:6 = 1+2+3 问题3:计算1000以内... -
输入1000以内的整数中,各位数对应的...并统计 出满足 这样条件的整数总共有多少个。例如:131,1+3+1大于1*3*1
2020-08-13 09:20:58代码实现 def main(args: Array[String]): Unit = { var count=0 for (n <- 1 to 1000){ //千位上的数 ... var bai = n / 100 % 10 //十位上的数 var shi = n/ 10 % 10 //个位上的数 var ge = n % . -
判断2-100之间有多少个素数,并输出所有素数。(Java经典编程案例)
2019-08-18 10:05:06判断2-100之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到 (这个数),如果能被整除,则表明此数不是素数,反之是素数。 代码如下: //素数,又称质数是指在大于1的自然数中,... -
(百度算法题)有三种走楼梯方式,走完100阶总共有多少种走法
2017-11-26 21:46:00用算法实现,走完100阶总共有多少种走法 解答: f(n)=f(n-1)+f(n-2)+f(n-3) 有两个要点:1,结果大于int32,需要用到高精度。 2,直接递归会有大量重复运算,需要缓存每一步的结果 #include"stdio.h" void... -
微软100题第46题:四对括号可以有多少种匹配排列方式?
2015-06-25 20:28:02题目:四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(()) 分析题目可以得出两个限制条件,a:左右括号数量相同; b:从左往右数,右括号数量不能大于左括号。 方法1:递归的方法... -
python一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
2020-06-02 13:50:41一个整数i,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(假设该数位于-10000到10000之间) 2.分析 直接使用python中的函数sqrt()和int()再利用for循环即可完成,但是要注意,根号... -
萌新的Python练习菜鸟100例(十二)判断101-200之间有多少个素数,并输出所有素数
2019-03-31 15:19:39判断101-200之间有多少个素数,并输出所有素数 分析: 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数 · 使用Python time模块 · 再使用time.sleep()函数,时间为秒,可以... -
17.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
2019-02-25 23:17:47题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? #这道题分析是关键: #整数+100是一个完全平方数,所以这个数应该是大于等于-100,否则不会是完全平方数 #0是完全... -
回归分析中f多少合适_spss回归分析F值很大,有100多,这样合理吗
2021-01-12 22:12:35F值大小,和是不是合理是没有关系的。SPSS方差分析中的F数值大小没有特别的意义...0.05被认为是系数检验显著,显著的意思就是你的回归系数的绝对值显著大于0,表明自变量可以有效预测因变量的变异,即有95%的把握结... -
第三题:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
2017-08-04 18:59:04第三题:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 设这个整数是X,根据题目:x+100=n*n,x+100+168=n*n+168=m*m 方法一:简单的方法,不用考虑太多,只要m是大于... -
【面试题】N级台阶(比如100级),每次可走1步或者2步,求总共有多少种走法?
2016-01-05 15:31:10走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步、2步或者3步,问走完这100级台阶总共有多少种走法?一、 题目分析这个问题本质上是... -
为什么选择大于努力?
2019-05-15 21:50:34选择在你生命中分量多少?如果人生是100分,选择应该占几分? 我认为,选择占了90分,其他10分是留给别人的选择。 你如果为什么会成为现在这个样子?都是你的选择导致的,你的努力不能改变大方向,最多只能小的路线...
-
java注解
-
MySQL DML 语言(插入、更新与删除数据)
-
linux - 中断处理
-
MySQL 存储过程(创建海量数据实验环境)
-
2021年R1快开门式压力容器操作多少分及格及R1快开门式压力容器操作找答案
-
《文件和目录操作命令》
<2.> -
10-获取用户信息
-
IIC协议程序(基于stm32编写)
-
janus-client:cc ++ webrtc本机janus客户端Qt opengl视频会议视频室视频通话文本室会议聊天-源码
-
$set的用法、监听器、计算属性、过滤器、动画
-
wallet-master.zip
-
1018 Public Bike Management (30 分)
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
转行做IT-第15章 Collection、泛型、Iterator
-
Educational Codeforces Round 105 (Rated for Div. 2)A题
-
加密货币钱包Exodus寻求SEC批准将股票Token化,以募资7500万美元
-
翻译:《实用的Python编程》03_04_Modules
-
kubernetes-helm安装及使用(最全安装大全)
-
信息学奥赛一本通-教程PPT课件(第五版)算法部分 第五章 搜索与回溯算法.pdf