当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL环境下导入数据时是否需要禁用索引

MYSQL
MYSQL教程:如何选择正确的数据列类型
MYSQL教程:表达式操作符和数据类型转换
MYSQL教程:索引和查询优化程序
MYSQL教程:数据列类型与查询效率
MYSQL教程:查询优化之有效加载数据
MYSQL教程:查询优化之调度和锁定
MYSQL教程:服务器优化和硬件优化
MYSQL教程:数据目录
MYSQL教程:数据表在系统中表现形式
MYSQL教程:数据表最大尺寸限制
MYSQL教程:状态文件和日志文件
MYSQL教程:调整MySQL数据目录位置
MYSQL教程:数据库安全管理
MYSQL教程:MYSQL启动与退出以及链接故障恢复
MYSQL教程:MySQL用户帐号管理
MYSQL教程:日志文件管理
MYSQL教程:MySQL的一些优化配置
MYSQL教程:优化服务器参数设置
MYSQL教程:运行多个MySQL服务器
MYSQL教程:MySQL服务器镜像配置

MYSQL 中的 MySQL环境下导入数据时是否需要禁用索引


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 104 ::
收藏到网摘: n/a

问题:导入数据时是否需要禁用索引?

解答:

在使用load data导入数据时,如果导入的表是MyISAM的,对于空表,MySQL数据库会把所有的非唯一索引进行一次独立的处理,而对于非空的表则会边插入边建索引。

所以对于非空的MyISAM表,需要用alter table xxx disable keys禁用索引,导入完成之后再用alter table xxx enable keys打开。

对于innodb,从测试的结果看无论表中是否已有记录,索引都是单独处理的,所以我们不需要禁用索引。(责任编辑:卢兆林)