关于mysql大数据查询,修改。请问有什么方法可以保证性能 30

现有一个库存表,数据量暂时10万,有一个java线程对其不停更新库存数量,还有程序在调用java接口不停查询库存数量。这个表的记录数只会增加,不会减少,,,而且有时候需要... 现有一个库存表,数据量暂时10万,有一个java线程对其不停更新库存数量,还有程序在调用java接口不停查询库存数量。这个表的记录数只会增加,不会减少,,,而且有时候需要几万几万的批量更新。。几乎时刻都有web程序在访问这个表的库存情况。。。请问,我应该如何应对这种情况了?现在更新的时候可能被导致死锁。以后对这个表的操作量将会更多,,各位大神提提意见吧,谢谢。。我只会搞程序,对数据库实在掌握得不够咋地啊???
数据不是10W是190万
展开
 我来答
rob3
2014-01-23 · TA获得超过105个赞
知道小有建树答主
回答量:83
采纳率:100%
帮助的人:49.5万
展开全部
MySQL一个表100万记录不算大,我用到过单表中上亿的记录,只要规划好,一样的飞快。
第一考虑在大吞吐情况下的数据安全,按照个人经验,第一推荐选用Innodb的方式,MyISAM的引擎虽然查询高效,但是在高I/O的情况下,一旦出问题,如何进行数据修复是让人崩溃的事情。而且Innodb支持事务,如果执行不成功,会自动回滚。
第二如果你的数据表基本上都是程序在访问,那么在定制索引的时候要好好考虑一下,把你常用的检索条件在一起做复合索引,这会比分离的单键索引在数度上是数量级的提高。还有就是在你的程序里面约定好筛选条件的顺序,这个顺序一定要和你定制的复合索引从左到右一致。
第三如果你的程序牵扯到多表的联合,建议使用存储过程,这样避免在TCP/IP I/O资源的堵塞,另外存储过程的使用过程中和具体使用的表之间的索引优化。针对特别常见的组合也可以使用view的方式创建。
第四在程序里面使用SQL要遵循如下经验:
- 不要在程序里面对SQL使用循环,或把可以通过SQL计算的东西让程序处理,尽量把运算交给MySQL服务器去做
- 使用SQL的时候尽量符合自己表定义索引,不要已经索引的字段进行函数计算,这样会导致索引无效

其实性能主要是靠前期的规划,规划设计好,无论是数据库和客户端都按照规划去做,性能一般差不了哪里去。
li361111523
2014-01-23 · TA获得超过229个赞
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:109万
展开全部
分表。是解决数据量大的一种办法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星辰大海byj
2014-01-23 · TA获得超过1020个赞
知道小有建树答主
回答量:993
采纳率:100%
帮助的人:530万
展开全部
改设计,在线和历史数据分开
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式