精华内容
下载资源
问答
  • 需要统计出行数大于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文件

    下面这段代码,是参考我之前写的一篇文章:

    在此基础上,做了部分修改,完整代码如下:

    30e351a39e4e122ec9fd43a3e9de5207174.jpg

    d8ce86ec5ef6d6142ac0e0ca929f0b05978.jpg

    #!/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文件,进行写入,完整代码如下:

    2beef0726cc53a79343e560259185ab22d0.jpg

    bfa5d5be56f4c423e05baf7bf4b0236c814.jpg

    #!/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文件,效果如下:

    f33f46322c675312c141ee6b1825deb4.png

    展开全文
  • 100,求满足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;
    }

    运行结果

    这里写图片描述

    展开全文
  • 今天去写三个滑块总合 不能大于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();
          }
        },
    
    
    
    展开全文
  • 编写一个程序,读入分数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分是100分。 代码 package testgrade; import java....
    1. 题目要求
      编写一个程序,读入分数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分是100分。
    2. 代码
    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);
        }
       
    }
    
    1. 代码截图
      在这里插入图片描述
    展开全文
  • 当价格为50--100时,优惠10%,当价格大于100时,优惠20%,低于50,不享受优惠 思路:通过if 。。elif实现 while True: pice =int(input('请问多少钱?')) if 50 <= pice <= 100: print('你的折扣为{},折扣...
  • //导航置顶 $(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....
  • 必然是有两个数字相乘进位了,而10 = 2 * 5,所以一个数字末尾有多少个0,取决于它分解因子后,有多少个2和有多少个5,假设2的个数为m,5的个数为n,那么最终的结果为min(m,n),而根据实际情况,当数字大于10且末尾...
  • 开始进入it行业的时候面试官问过我一个问题:假设今天是2012年1月1日,7天后是多少100天呢,1万天呢,当时没有回答好.当时我的思路:首先想到的是天数很大,然后需要我怎么处理1. 看天数days是否大于365,是的话算...
  • 一、滚动监听事件,当滚动高度大于指定的大小的时候,修改指定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个)考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分为10分。 样例输入 9.3 5.3 4.1 ...
  • var sum = 0;for(var i=1;...=100; i++){ sum += i; //判断sum是否大于4000 if(sum&gt;4000){ //查看这个i多少 console.log(i); break;//此时sum已经大于了4000 }}console.log(sum);...
  • * 判断100-200之间有多少素数 并输出所有素数 * * 质数(prime number)又称素数,有无限个。 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。 * */ public class suShu { ...
  • 问题1:输出100以内的素数(大于1的自然数中,除了1和它本身,不再有其他因数) 问题2:输出1000以内的完数。(除了它本身的所有约数之和与其自身相等) 例:6 = 1+2+3 问题3:计算1000以内...
  • 代码实现 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之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到 (这个数),如果能被整除,则表明此数不是素数,反之是素数。 代码如下: //素数,又称质数是指在大于1的自然数中,...
  • 用算法实现,走完100阶总共有多少种走法 解答: f(n)=f(n-1)+f(n-2)+f(n-3) 有两个要点:1,结果大于int32,需要用到高精度。 2,直接递归会有大量重复运算,需要缓存每一步的结果 #include"stdio.h" void...
  • 题目:四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(()) 分析题目可以得出两个限制条件,a:左右括号数量相同; b:从左往右数,右括号数量不能大于左括号。 方法1:递归的方法...
  • 一个整数i,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(假设该数位于-10000到10000之间) 2.分析 直接使用python中的函数sqrt()和int()再利用for循环即可完成,但是要注意,根号...
  • 判断101-200之间有多少个素数,并输出所有素数 分析: 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数 · 使用Python time模块 · 再使用time.sleep()函数,时间为秒,可以...
  • 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? #这道题分析是关键: #整数+100是一个完全平方数,所以这个数应该是大于等于-100,否则不会是完全平方数 #0是完全...
  • F值大小,和是不是合理是没有关系的。SPSS方差分析中的F数值大小没有特别的意义...0.05被认为是系数检验显著,显著的意思就是你的回归系数的绝对值显著大于0,表明自变量可以有效预测因变量的变异,即有95%的把握结...
  • 第三题:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 设这个整数是X,根据题目:x+100=n*n,x+100+168=n*n+168=m*m 方法一:简单的方法,不用考虑太多,只要m是大于...
  • 走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步、2步或者3步,问走完这100级台阶总共有多少种走法?一、 题目分析这个问题本质上是...
  • 选择在你生命中分量多少?如果人生是100分,选择应该占几分? 我认为,选择占了90分,其他10分是留给别人的选择。 你如果为什么会成为现在这个样子?都是你的选择导致的,你的努力不能改变大方向,最多只能小的路线...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 765
精华内容 306
关键字:

多少大于100