zoukankan      html  css  js  c++  java
  • MySQL优化方案

    插入数据

    1.批量插入

    1).尽量使用多个值表的INSERT语句,这种方式将大大缩减客户端与数据库之间的连接、关闭等消耗
    insert into test values(1,2),(1,3),(1,4)…
    2).当从一个文本文件装载一个表时,使用LOAD DATA INFILE,这通常比使用很多 INSERT语句快20倍

    索引相关

    1.mysql索引分类
    主键索引:PRIMARY KEY
    唯一索引:索引列的所有值都只能出现一次,即必须唯一
    普通索引:最基本的索引类型,而且它没有唯一性之类的限制
    全文索引:全文索引的索引类型为FULLTEXT。全文索引可以在VARCHAR或者TEXT类型的列上创建

    2.mysql查看表索引
    show index from table_name;

    3.sql中使用了聚合函数,唯一过滤字段name已建索引,并且聚合函数中字段是主键或该索引字段,虽然name是不等于表达式,仍然可以走索引(“覆盖索引”,不需要查表)
    select sum(id)或sum(name) from t_address where name <> 'aaa';

    4.对于含有OR的查询语句,如果要利用索引,则OR之间的每个条件列都必须用到索引,例如:
    select * from table_name where col01='aa' or col02='bb';
    字段col01和col02分别有单列索引时,现MySQL在处理含有OR字句的查询时,实际是对OR的各个字段分别查询后的结果进行了UNION
    但如果col01和col02是放在一个联合索引中,则MySQL不会使用到该索引

  • 相关阅读:
    最长公共子序列-动态规划
    归并排序
    最大子段和-3种方法
    kafka compaction 分析(基于kafka 0.10.2版本)
    [转载]interp1
    [转]mat2gray函数原理分析
    Java 位运算(移位、位与、或、异或、非)与逻辑运算
    ML01a
    [第1集] 机器学习的动机与应用
    tap4fun公司面试总结
  • 原文地址:https://www.cnblogs.com/atai/p/9782269.html
Copyright © 2011-2022 走看看