mysql大量数据写入问题

dld11111 2010-01-15 10:50:43
当mysql有大量数据写入时会不会造成索引速度下降?
怎么解决?不要主从服务器。设置读优先会不会有作用?可那样会不会对表的写入影响很大?
谢谢
...全文
526 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-01-15
  • 打赏
  • 举报
回复
每天有几万条的数据更新
每次你的说法都不一样!

如果是UPDATE,则会锁表,会有影响。不过可以通过设置隔离级别来允许脏读以避免对SELECT的影响。
dld11111 2010-01-15
  • 打赏
  • 举报
回复
每天有几万条的数据更新,表中一共有几百万的数据。不是特别大呵,就是在写入时又在进行查询.我要出去一下,不好意思
dld11111 2010-01-15
  • 打赏
  • 举报
回复
慢查询和my.ini文件我已经做过优化了。数据持续写入是指每天有持续的数据更新和写入,会不会影响表的性能?怎么解决。
wwwwb 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dld11111 的回复:]
楼上理解错了,我的表有数据持续写入,我担心它影响表的查询速度。想要解决
[/Quote]
写入什么数据?有多少字段、数据量多大,写入的同时,又 在进行查询?
详细说明
ACMAIN_CHM 2010-01-15
  • 打赏
  • 举报
回复
[Quote]我的网页有时候打开速度会很慢[/Quote]检查一下你的MYSQL的慢查询日志,如果未打开这个功能,则打开看一下,然后进行分析。

这个需要具体的一步步分析。

哪个SQL语句耗时过多?
表的存储相擎是什么?
“大量数据持续写入” 语句是什么?
...

这个问题和你在顶楼的问法已经基本上不是同一话题了。
dld11111 2010-01-15
  • 打赏
  • 举报
回复
楼上理解错了,我的表有数据持续写入,我担心它影响表的查询速度。想要解决
wwwwb 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dld11111 的回复:]
引用 4 楼 wwwwb 的回复:
写入txt,主要是导入时速度快一些(当然关闭索引),
用LOAD DATA INFILE导入

是将数据写入到文本文件中,到闲的时候再导入?
还有当然关闭索引,是什么意思?
[/Quote]
你不是要向MYSQL中写入大量数据吗?
将数据写入TXT中,用LOAD DATA INFILE导入TXT中的数据,在导入前DROP索引
dld11111 2010-01-15
  • 打赏
  • 举报
回复
我的网页有时候打开速度会很慢,想想可能是有大量数据持续写入的原因。现在想解决这个问题,谢谢版主
ACMAIN_CHM 2010-01-15
  • 打赏
  • 举报
回复
楼主想解决什么问题?或者想实现什么功能有什么方面的担心?
dld11111 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wwwwb 的回复:]
写入txt,主要是导入时速度快一些(当然关闭索引),
用LOAD DATA INFILE导入
[/Quote]
是将数据写入到文本文件中,到闲的时候再导入?
还有当然关闭索引,是什么意思?
wwwwb 2010-01-15
  • 打赏
  • 举报
回复
写入txt,主要是导入时速度快一些(当然关闭索引),
用LOAD DATA INFILE导入
dld11111 2010-01-15
  • 打赏
  • 举报
回复
谢谢楼上两位,#2能详细说下吗,写入txt。给个思路
wwwwb 2010-01-15
  • 打赏
  • 举报
回复
会,
详细说明情况
可以试试将数据写入TXT中,再导入到表中。
ACMAIN_CHM 2010-01-15
  • 打赏
  • 举报
回复
[Quote]当mysql有大量数据写入时会不会造成索引速度下降?[/Quote]写入时?写入的时候,会同时去维护索引。 如果在大量数据INSERT之前先把索引删除,等数据全INSERT完后再重建INDEX则总体上会减少时间。

写入之后,不管哪种方式都没什么差别,对MYSQL来说,只不过是个数据文件和索引文件了。
ACMAIN_CHM 2010-01-15
  • 打赏
  • 举报
回复
select里面主要是like '%...%'这样的语句耗时多
这个 like '%...%' 是无法利用索引的,需要全表扫描,无法优化。

order by ... limit 24500,10
这种也同样,MYSQL会先扫描前24500行后再输出后10行。

所以这两句即使在没有数据update/insert的时候也不会快到哪儿去。
如果你有UPDATE,结果还会造成LOCK TABLE,这样你的SELECT 还需要等侍。
WWWWA 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 dld11111 的回复:]
哦,看来不是一两句话就能解决的。谢谢两位了。。
[/Quote]
确实是这样,优化需要耐心,反复测试,呵呵
dld11111 2010-01-15
  • 打赏
  • 举报
回复
哦,看来不是一两句话就能解决的。谢谢两位了。。
WWWWA 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 dld11111 的回复:]
有索引,而且很多。我说的是查询速度
[/Quote]
一般而言,数据量大,且索引多,对插入速度的影响>查询速度,不过要根据你的SQL语句、使用索引
情况来判断。
dld11111 2010-01-15
  • 打赏
  • 举报
回复
有索引,而且很多。我说的是查询速度
wwwwb 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 dld11111 的回复:]
如果每天写入的数据太多的话会不会对我的表索引速度会不会有影响
[/Quote]
是指插入速度还是查询速度?
如果有索引,插入新记录时要更新索引,数据量大肯定有影响
加载更多回复(5)

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧