from http://topic.csdn.net/u/20110921/16/7d335c53-4d88-4fca-b150-b1d165fa588a.html
引用
如题,我现在 有一张表。。。里面的数据大概就是 800w 条左右,当然以后也可能会更多,这个表会频繁的更新!
我现在的处理是:每次更新 都会先truncate 这张表(因为里面的数据 已经不需要了),然后我会 drop index !
这样之后我会去 insert 数据 。。。。(这些数据量 有可能过千万。。级别的) ,之后就是为数据建立索引!
建立索引的过程很慢。。。800w 数据 现在执行了 半个小时 还没有完成。。。。。建立索引的 字段的类型是 varchar。。。
(这里只能是varhcar 之前有试过 建立多列索引。。那样需要建立 6 列 。。耗时 大概 1 小时左右!如果数据量更大 那么时间
会更长。。。) 有没有更好的解决办法。。或者 怎么优化一下mysql 数据库。。
对我有用[0]丢个板砖[0]引用举报管理TOP回复次数:36
wfevgch
(聪明的一休)
等 级:
#1楼 得分:0回复于:2011-09-21 17:02:02首先查询字段用char会好些
你数据量大,不妨试一下,先建索引,当然insert速度会慢,你把innodb_flush_log_at_trx_commit置为0后进行insert,比较一下速度。
对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:求SSAS中的计算成员中属性成员的使用
wIloverYou123456789
(wIloverYou123456789)
等 级:
#2楼 得分:0回复于:2011-09-21 17:04:25引用 1 楼 wfevgch 的回复:
首先查询字段用char会好些
你数据量大,不妨试一下,先建索引,当然insert速度会慢,你把innodb_flush_log_at_trx_commit置为0后进行insert,比较一下速度。
我知道。。我是先 insert 之后 才去建立的 index 。。。。
你的意思是先建立 index 然后调整 mysql 的 innodb_flush_log_at_trx_commit 。。。这样一来 在执行
insert into 数据的操作 速度 会 提高么?
对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:MySQL--- FAQ(2008-10-30更新)
wwwwb
等 级:
9
23
23
#3楼 得分:0回复于:2011-09-21 17:04:391种方法:用SELECT INTO OUTFILE导出记录,
TRUNCATE 此TABLE,建立索引,用LOAD DATA INIFILE再导入
对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:用C#/.NET挑战一下VFP
wIloverYou123456789
(wIloverYou123456789)
等 级:
#4楼 得分:0回复于:2011-09-21 17:13:44引用 3 楼 wwwwb 的回复:
1种方法:用SELECT INTO OUTFILE导出记录,
TRUNCATE 此TABLE,建立索引,用LOAD DATA INIFILE再导入
我现在就是这么做的。。。。into file 。。。导入数据不慢,也就是三四分钟的事情。。问题在于我导入之后 要执行一些查询 和统计 ,这个过程很忙!!我要优化的就是 查询和统计。。为了解决这个问题。。我想到的就是去建立索引!但是 为800w 条数据建立索引 是个很慢的过程 ,希望能在建立索引的时候 提高速度和效率!
对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:MDX 如何 翻译 转换 为 SQL 脚本
WWWWA
(aaaa)
等 级:
2
12
15
#5楼 得分:0回复于:2011-09-21 17:16:10我现在就是这么做的:
你的步骤是这样?先建立索引
RUNCATE 此TABLE,建立索引,用LOAD DATA INIFILE再导入
对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:关于项目相互引用的问题
wIloverYou123456789
(wIloverYou123456789)
等 级:
#6楼 得分:0回复于:2011-09-21 17:20:06引用 5 楼 wwwwa 的回复:
我现在就是这么做的:
你的步骤是这样?先建立索引
RUNCATE 此TABLE,建立索引,用LOAD DATA INIFILE再导入
是的。。你的理解是对的。。我就是这么做的!!!但是 。导入速度还可以。。问题就是建立索引。。然后查询 和统计!!! 。。这是问题的关键!!
对我有用[0]丢个板砖[0]引用举报管理TOP
wwwwb
等 级:
9
23
23
#7楼 得分:0回复于:2011-09-21 17:25:17问题就是建立索引:再问一次,你是在导入数据前建立的索引还是导入后建立的,仔细看看我的建议