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不会使用到该索引

  • 相关阅读:
    java的System.getProperty()方法可以获取的值
    python-namedtuple使用
    ML-KDTree思想、划分、实现
    基于栈的10亿数字快速排序
    python栈、队列的使用
    1.(字符串)-计算n个数count-and-say
    1.(字符串)-获取最后一个字符串及长度
    1.(字符串)-空格替换
    1.(字符串)-获取字符串的最长回文子串
    1.(字符串)-回文判断
  • 原文地址:https://www.cnblogs.com/atai/p/9782269.html
Copyright © 2011-2022 走看看