• SQL技巧及优化


    rand()函数:生成0到1之间的随机数,
    使用rand()和order by 可以把表中的记录随机排序
    例如:select * from t1 order by rand()

    group by 结合with rollup


    show status 查询sql执行频率:
    show status like ‘com_insert%’ 查询插入的次数
    show status like ‘com_select%’
    show status like ‘com_update%’
    show status like ‘com_delete%’

    针对innodb引擎的:
    show status like ‘innodb_rows%’;
    +———————-+———-+
    | Variable_name | Value |
    +———————-+———-+
    | Innodb_rows_deleted | 1 |
    | Innodb_rows_inserted | 6518 |
    | Innodb_rows_read | 58519129 |
    | Innodb_rows_updated | 4 |
    +———————-+———-+
    4 rows in set (0.00 sec)

    慢查询次数:
    show status like ‘%slow_queries%’;
    优化 :
    1通过慢查询日志找到执行效率低的SQL语句
    2 explain select * from tousu G

    id: 1
    select_type: SIMPLE
    table: tousu
    type: ALL
    possible_keys: NULL
    key: NULL
    key_len: NULL
    ref: NULL
    rows: 5
    Extra:
    1 row in set (0.00 sec)

    select_type:
    SIMPLE :简单表,即不使用表连接和子查询
    PRIMARY :主查询
    UNION :
    SUBQUERY:子查询

    type:ALL 通过全表扫描得到的数据
    range 范围扫描
    index_merge 索引合并优化
    eq_ref 使用主键和唯一

    possible_keys :表查询可能使用的索引
    key :实际使用的索引
    key_len :索引字段的长度

    总结:通过慢查询定位到SQL,然后explain看此SQL是否使用到索引

    索引:通过索引可以解决大多数的性能问题
    myISAM 引擎表的数据和索引分开存储,各自独立的文件,
    innodb 引擎表数据和索引存储在同一个表空间中,可以有多个文件组成

    使用like查询,后面如果是常量并且只有%号不在第一个字符,索引才可能被使用。
    如果对大的文本搜索,使用全文索引而不使用’%%’

    查询group by 后面,默认分组升序排列,可以再加上order by null,避免排序的性能损耗。
    避免使用子查询和嵌套查询,此种查询不会使用索引,,改为左右连接查询

    mysql 读写锁:
    读锁:锁定后,别人也可以读,但不能写
    写锁:只有自己可以操作,别人什么操作都不能做。
    mysql四种字符集:
    db
    server
    conn
    client

    如何设置字符集:my.conf中修改


    查看慢查询日志是否开启:
    show variables like ‘%slow%’;

    慢查询时间
    show variables like ‘%long%’;
    开启慢查询日志:
    linux 下
    vi /etc/my.conf
    log_slow_queries=slow.log
    long_query_time=8

  • 相关阅读:
    Java Web 之servlet完整教程
    datediff(date1,date2) 函数的使用
    服务器搭建相关总结
    Oracle中INSTR函数与SQL Server中CHARINDEX函数
    36大数据和about云的文章总结
    oracle中LPAD和RPAD函数的使用方法(加个人总结)
    日常SQL总结
    about云Hadoop相关技术总结
    6.5 hadoop集群运行
    股票主动资金变化曲线分析交易意向和趋势
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13310983.html
Copyright © 2020-2023  润新知