zoukankan      html  css  js  c++  java
  • Python MySQL数据库的基本使用补充

    1. 慢日志
      1. 慢日志的大概功能(记录以下条件的SQL语句)
        1. SQL语句执行时间 > 10
        2. 未命中索引...等
      2. 如何配置慢日志
        1. 在内存中配置(直接在CMD窗口执行)
          show variables like '%query%'  然后通过显示出来的列表修改想要的变量
          set global 变量名 = 值 ,如以下几种:
          1.  set global slow_query_log=ON/OFF            #  是否开启慢日志
          2. set global long_query_time=2                       #  超过此时间,则记录
          3. slow_query_log_file =D:XXXX                      #  日志文件路径
          4. log_queries_not_using_indexes = OFF        #  如果开启,就判断SQL语句是否命中索引(这个要用show variables like '%queries%'来查看 )
        2. 使用配置文件配置(存放在硬盘中)
          1. 创建一个配置文件,如my.ini在里面写入  set global 变量名 = 值 ......
          2. 使用配置文件:mysqld --defaults-file = 'D:XXX.my.ini'
          3. 修改配置文件时,记得备份然后重新启动服务
    2. 分页:
      1. select * from t1 limit 20,10;      #  翻的页数越多,速度越慢,因为他会扫描之前所有的方式
        1. 解决方法:
          1. 不让看~~~ (最多让你看XX页)
          2. 去索引表查找
            select * from t1 where id in (select id from t1 limit 9999,9)
            用覆盖索引去索引表找,但速度也快不了多少
          3. 方案

            1. 记录当前页最大或最小ID,比如select * from t1 where id >999 limit 9;  通过Python调整数据
              #  ID是不连续的,所以无法直接使用ID范围进行查找
            2. 页面只有上一页,下一页(假设每页有10个数据)
              max_id(数据的ID不是页面的ID)
              min_id
              下一页
              select * from t1 where id > max_id limit 10;
              上一页
              select * from t1 where id < min_id order by id desc limit 10;
            3. 上一页 97 98 99 [100] 101 102 [103] 下一页 (每页10个数据,从100页跳刀103页)
              select * from where id in (select id from (select id from t1 where id > max_id limit 30) as N order by N.id desc limit)
  • 相关阅读:
    python异常处理
    装饰器汇总
    PHP PDO预定义常量
    [转载]Firebird与MySQL:一个使用者的体会
    卸载AppDomain动态调用DLL异步线程执行失败
    c#数据库访问读取数据速度测试
    iis最大工作进程数
    WINCE 获取智能设备唯一编号
    通过 JDBC 驱动程序使用大容量复制
    IIS出现问题时修改配置文件的几项说明
  • 原文地址:https://www.cnblogs.com/otome/p/12504484.html
Copyright © 2011-2022 走看看