1,大批量插入数据

(1)对于MyISAM:

alter table table_name disable keys;

loading data;

alter table table_name enables keys;

(2)对于Innodb:

(a),将要导入的数据按照主键排序;

(b),set unique_checks = 0,关闭唯一性校验;

(c),set autocommit=0,关闭自动提交;

2,MyISAM与Innodb区别是什么

(1)MyISAM不支持外键,Innodb支持。

(2)MyISAM不支持事务,Innodb支持。

(3)对数据的存储处理方式不同(如果存储引擎是MyISAM的,则创建一个表,对应三个文件*.MYD,*.MYI,*.frm;如果是Innodb则只有一个文件*.frm,数据存放在ibdata1)。

注:对于存储引擎是MyISAM的数据库,如果经常做删除和修改记录的操作,需要定时执行 ”optimize table 表名”,对数据表进行碎片整理。

3,优化group by语句

默认情况下,MySQL对所有的group by col1,col2进行排序。这与在查询中指定order by col1,col2类似。如果查询中包括group by但用户想要避免排序结果的消耗,则可以使用order by null禁止排序。比如:select * from dept group by ename order by null;

4,有些情况下,可以使用连接来代替子查询

因为使用join,MySQL不需要再内存中创建临时表。

5,如果想要在含有or的查询语句中使用索引,则or之间的每个条件都必须用到索引,如果没有索引,则应该考虑增加索引。

6,在精度要求高的应用中,建议使用定点数(decimal)来存储数值,以保证结果的准确性。少使用浮点数float。

create table sa1(t1 float(10,2));

create table sa2(t1 decimal(10,2));

insert into sa1 values(1000000.32);

insert into sa2 values(1000000.32);

select * from sa1;

select * from sa2;

五,mysql优化——sql语句优化小技巧的更多相关文章

  1. Mysql编写sql语句的小技巧

    1.查询数据(保证查询性能) SELECT * 和 SELECT t.id , t.name:后者性能其实总体优于前者. 2.在查询的时候最好给表起个 别名,方便找到表中要查询的字段.执行sql的进行 ...

  2. mysql的sql语句优化方法面试题总结

    mysql的sql语句优化方法面试题总结 不要写一些没有意义的查询,如需要生成一个空表结构: select col1,col2 into #t from t where 1=0 这类代码不会返回任何结 ...

  3. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  4. MySQL常用SQL语句优化

    推荐阅读这篇博文,索引说的非常详细到位:http://blog.linezing.com/?p=798#nav-3-2 在数据库日常维护中,最常做的事情就是SQL语句优化,因为这个才是影响性能的最主要 ...

  5. MySQL之SQL语句优化

    语句优化 即优化器利用自身的优化器来对我们写的SQL进行优化,然后再将其放入InnoDB引擎中执行. 条件简化 移除不必要的括号 select * from x where ((a = 5)); 上面 ...

  6. 三,mysql优化--sql语句优化之索引一

    1,需求:如何在一个项目中,找到慢查询的select,mysql数据库支持把慢查询语句,记录到日志中.供程序员分析.(默认不启用此功能,需要手动启用) 修改my.cnf文件(有些地方是my.ini) ...

  7. MySQL 数据库--SQL语句优化

    explain查询和分析sql 开发中,为满足一业务功能,使用mysql书写sql时,一条sql往往有多种写法,那么我们就需要选择执行效率比较高的sql. 因此要比较分析sql的执行过程,且同一条sq ...

  8. Mysql的Sql语句优化

    在Mysql中执行Sql语句经常会遇到有的语句执行时间特别长的情况,出现了这种情况我们就需要静下心分析分析. 首先,我们需要确定系统中哪些语句执行时间比较长.这个可以使用Mysql的慢日志来跟踪.下面 ...

  9. 千万级大数据的Mysql数据库SQL语句优化

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

随机推荐

  1. filter 死循环(tomcat 启动完成 ,自动执行filter.dofilter,导致tomcat 启动超时) , tomcat 启动和 servers 启动 不同

    package com.diancai.interceptor; import java.io.IOException; import javax.servlet.Filter; import jav ...

  2. sklearn 算法大全

    http://scikit-learn.org/stable/tutorial/machine_learning_map/

  3. list集合如何对里面的元素进行排序

    Collections 是集合的公共类,提供各种工具,其中提供了排序方法. Collections.sort(),方法两个参数,1,要排序的集合,2.排序方式 下面是匿名内部类,实现了排序借口,你也可 ...

  4. 马婕 2014年MBA,mpacc备考 报刊宣读2 美国对互联网的控制威胁着网络自由(转)

    http://blog.sina.com.cn/s/blog_3e66af4601015qmk.html US controls threaten Internet freedom 美国对互联网的控制 ...

  5. UVa 11210 Chinese Mahjong (暴力,递归寻找)

    题意:这个题意.有点麻烦,就是说给定13张牌,让你求能“听”的牌.(具体的见原题) 原题链接: https://uva.onlinejudge.org/index.php?option=com_onl ...

  6. 学习前端的菜鸡对JS 的classList理解

    classList 在早期的时候要添加,删除类 需要用className去获取,然后通过正则表达式去判断这个类是否存在. 代码上去会有点麻烦,现在有了classList 就方便了很多. ——————— ...

  7. webuploader php上传视频

    webuploader 上传大视频文件 在网上找了一个,自己重新组合了下,两个主要的文件,再加上官方下载的文件.其中有几个重要的点. 1.上传存放视频目录为了测试 直接777 2.fileupload ...

  8. 编写属于自己的linux命令

    开篇: 问题和解决思路 在使用一些基础IDE时,工具经常会在我们建立特定文件时给我们一个已经有了一些特定代码的模板文件,但是在linux开发时,没有这样的IDE,怎么办?虽然代码量不是很多,但是能一次 ...

  9. 201709013工作日记--Android异步通信AsyncTask

    参考相关博客:http://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTas ...

  10. java web eclipse中项目的加载过程

    java web eclipse中项目的加载过程: Tomcat默认从WEB-INF/目录下加载资源,Eclipse在发布程序的时候,并没有把User Libraries的相关资源拷贝到WEB-INF ...