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处理多个表时, 会运用排序及合并的方式连接它们 ......
计算间隔时间:
select f_date,f_cstime,f_cetime, (((SYSDATE- TO_DATE(f_date||f_cstime,'YYYYMMDDHH24MISS')) * 86400000)-((SYSDATE- TO_DATE(f_date||f_cetime,'YYYYMMDDHH24MISS')) * 86400000))/1000 CURRENT_MILLI from ycsq_t_hauthlog where f_cstime<>'999999'
将字符串转换成日期类:SYSDATE- TO_ ......
引:现在一些中小企业都广泛使用MS Windows NT 为网络操作系统平台,SQL Server 为后台数据库构建企业内部的各种管理系统,该成熟技术的普及,能有效地帮助企业对内部数据进行管理。这类应用中,对数据库的备份是很重要的一项工作,其重要性不必多言。
其备份的方法很多,如:在一些规模较大、资金雄厚的企业,往往是 ......
--1.在目标服务器上建立如下对象(被同步的服务器)
if exists (select * from dbo.sysobjects where id = object_id(N'[sys_syscomments_bak]') and OBJECTPROPERTY(id, N'IsUserTable')   ......