PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Database
[讨论] 大量update下,数据库设计的方式
楼主:
keke0421
(zrae)
2015-01-15 23:14:15
各位大大好
最近设计数据库时遇到一些问题 想请问前辈
假设一个网站上面有50个功能,每个功能结束时会call一个api去update
一张资料表的字段 及 select 动作。
若同时间约有10万人使用这50个功能,而且不用批次写入数据库的方式,
有比较好的设计方式?
我的想法是,将这一张资料表,在依功能拆成5~10张小表,
分散资料表被request的数量。
网络上有找到Partition Table的资讯,但无奈看不是很懂,
想请各位前辈有没有好的方式,关键字也可以QQ
作者:
iamnotfat
(我不肥)
2015-01-16 10:44:00
用户行为结束后, 为何还要select 给他? 这个overhead有点危险~
作者:
gname
((′口‵)↗︴<><...<><)
2015-01-16 13:23:00
原po指的SELECT 应该是 UPDATE 完后使用者要看新的资料给原po: 你的系统可以同时间承载10万人连上来用吗?如果不行,那你何必去考量这个情况?
作者:
konkonchou
(卡卡猫)
2015-01-16 15:36:00
效能是个问题,deadlock也得考虑,AP加个排queue功能或许牺牲一点点即时性但整体稳定会比较好一些
作者: wen001 (专长就数据库阿,奇怪吗?)
2015-01-17 21:51:00
你的update与select可否再描述一下。例如是否update同一笔row,还是有其他where条件值。你有client sn与任务sn 所以就不会存在同一笔row update问题,lock问题没有程式干预就还好。你的问题在于可能会在单一table的select产生大IO。能尽量拆分table就尽量拆,where条件要考虑index,同一语句下若where条件太多先用子查询缩小范围,记得同一sql语句 子查询会先加载在内存。partition概念有点像是用月份拆分不同减少IO。建议用程式解决,开发阶段先别考虑partition。加油,硬件上大陆有用一台AIX+够强的Storage撑整个中国的春运,没理由台湾不行。你说的index是必须存在的,但是index也是一个table,假设Row过多也是要把Table用陈旧资料的方式区分,最简单是用日期月份年份区分。看起你的问题瓶颈会在selectIO
作者:
gname
((′口‵)↗︴<><...<><)
2015-01-23 11:00:00
从你的叙述看起来任务条件表是拿来读的? 那何不进 cache ?
继续阅读
[SQL ] MYSQL 远端批次备份条件式指令如何下?
duolala
[SQL ] 请问使用to_number字串转数字的错误
erho
[SQL ] 由两个字段之计算自动得到第三个字段?
HelloJimmy
Re: [讨论] 需要下条件的字段太多
wen001
Re: [讨论] 资料量大的时候要怎么优化db & sql?
wen001
[讨论] 请问要储存重复表格的设计?
embman
[讨论] MySQL Transaction Timeout
b60413
[情报] 对DB有兴趣的朋友,欢迎参加Sql Pass聚会
rockchangnew
[SQL ] 关于次一笔资料排序及选取
Marty
[讨论] datamining weka问题
goturback
Links
booklink
Contact Us: admin [ a t ] ucptt.com