zoukankan      html  css  js  c++  java
  • mysql06-解释计划

    什么是解释计划:

    使用 EXPLAIN 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是
    如何处理你的 SQL 语句的。分析你的查询语句或是表结构的性能瓶颈
     
    执行计划的语法
    EXPLAIN select * from table1
     
    解释计划包含的列以及其作用
    ID 列:描述 select 查询的序列号,包含一组数字,表示查询中执行 select 子句或操作表的顺
    根据 ID 的数值结果可以分成一下三种情况
     id 相同:执行顺序由上至下
     id 不同:如果是子查询,id 的序号会递增,id 值越大优先级越高,越先被执行
     id 相同不同:同时存在
     
     
    select__type
    type 显示的是访问类型
     
    system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery >
    index_subquery > range > index > ALL
     
    System:表只有一行记录(等于系统表),这是 const 类型的特列,平时不会出现,这个也
    可以忽略不计
    Const:表示通过索引一次就找到了
    const 用于比较 primary key 或者 unique 索引。因为只匹配一行数据,所以很快
    如将主键置于 where 列表中,MySQL 就能将该查询转换为一个常量
     
    ref
    显示索引的哪一列被使用了,如果可能的话,是一个常数。哪些列或常量被用于查找索引列
    上的值

     ================================================

    sql 优化

    策略 1.尽量全值匹配
    策略 2.最左前缀
    策略 3.不要在索引列做操作
    策略 4.范围查询放最后
    策略 5.尽量用覆盖索引,少用select *,尽量访问索引列
    策略 6. 尽量不要用不等于
    策略 7.not  null会用索引列失效,like的左%会使索引失效
    策略 8.or.union 比 or 效率高
     
     
    insert的优化
    关闭自动提交,攒一些在提交,也就是批量插入
     
     
    LOAD DATA INFLIE;
    使用 LOAD DATA INFLIE ,比一般的 insert 语句快 20 倍
    select * into OUTFILE 'D:\product.txt' from product_info
    load data INFILE 'D:\product.txt' into table product_info
    load data INFILE '/soft/product3.txt' into table product_info
    show VARIABLES like 'secure_file_priv'
     secure_file_priv 为 NULL 时,表示限制 mysqld 不允许导入或导出。
     secure_file_priv 为 /tmp 时,表示限制 mysqld 只能在/tmp 目录中执行导入导出,其他
    目录不能执行。
     secure_file_priv 没有值时,表示不限制 mysqld 在任意目录的导入导出。
    secure_file_priv=''
     
     
  • 相关阅读:
    剖析C语言中a=a+++++a的无聊问题
    [转]精确到1%秒的单片机计时器汇编程序
    [转]学DSP、FPGA、ARM,哪个更有前途?
    【Java】Eclipse导出JAR包
    二维码生成器(支持历史记录点击和清空)
    移动端开发注意之一二
    localStorage实现按钮点击禁用
    JavaScript之查找元素
    扒拉扒拉table
    解惑之JavaScript
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/14108746.html
Copyright © 2011-2022 走看看