mysql的大批量导入数据sql语句的一点优化
大批量插入数据时 1,myisam表,可以先通过 alter table table_name disable keys;#先关闭表的索引检查,注意是非唯一索引! load data infile ‘/path/file’ into table table_name; alter table table_name anable keys;#再打开索引 可大大加快导入.还有可以设置bulk_insert_buffer_size值来提高插入速度 2,innodb表,上面方法不怎么凑效 可以对数据按主键进行排序,因为innodb是按主键顺序保存数据的;在导入数据之前可以先关闭唯一索引效验 set unique_checks=0; 如果有自动提交,先关闭 set autocommit=0;
相关文档:
sql 很久不用,突然间要求做报表。所以又可以补一补sql知识了。但经常会遇到一些弱智问题.
写了一条sql:select to_date('2009-09-24 12:20:0') 能将改字符串转换为日期
但另外一条sql却转换不了...感觉很奇怪.于是乎。再仔细看一遍 发现
给一个日期字段设置别名时设置成了sib.fbizDate as date我自己都无语了。怎么会设 ......
一、选择最有效率的表名顺序(只在基于规则的优化器中有效)
ORACLE的解析器按照从右到左的顺序处理from子句中的表名,因此from子句中写在最后的表(基础表 driving table)将被最先处理. 在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们 ......
是拷贝的别人的,以备学习
package com.unmi.db;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 读取 SQL 脚本并执行
* @author Unmi
*/
pub ......
在查询分析器中输入以下内容:
set statistics profile on
set statistics io on
set statistics time on
go
go
set statistics profile off
set statistics io off
set statistics time off ......