PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Database
[讨论] 资料需要锁定并应付多个请求的作法
楼主:
aoksc
(é‡å‡ºæ±Ÿæ¹–)
2016-09-30 00:18:08
请问各位
今天interview的时候有跟主管聊到以前的一个问题
就是某个流水号需要一次只能被一个请求读取
并且使用完要把最新的流水号更新回去
所以必须要用交易锁定
但主管有提到如果是大量的请求要读取要怎么做比较好呢?
这问题之前有跟朋友讨论过
结论是用queue
反正就排队一个一个来
但主管说叫我回去想想是否还有更好的作法
因为我也没遇过比较极端的情况
所以像这种需要频繁锁定资料表避免读取的话要怎么做才能效能太差的问题呢?
或是有哪些关键字可以寻找呢?
谢谢
作者:
flowwinds
(..)
2016-09-30 15:28:00
看不大懂..而虽然小弟不一定能回答 但建议可举个例
作者:
iamnotfat
(我不肥)
2016-09-30 16:58:00
数据库是用哪家的呢?
作者: longlongint (华哥尔)
2016-10-01 01:42:00
丢到云端上面跑吧 不过同步的问题还是无解通常会避免大家同时写入/读取同一个地方只要有"写入" 就一定要排队其实通常会有工具可以套 只是没用过不知道OTZ
作者:
magus
(Magus)
2016-10-06 01:44:00
'流水号增加到150的时候要update回原来字段'<=这段看不懂我的想法是用程式判断...
作者: AminLA (101)
2016-10-07 21:23:00
可以在update 时指定当初取得的序号例如 set seq=150 where seq=1 取得受影响的笔数就知道有没有成功,没成功的话就再次取得最新的序号 ,算出差值,下个update 帮原本已经写入的149 笔更新成新的序号,再下个update 更新当前的seq 反复这个过程直到成功 简单说就是 CAS
作者: iFEELing (ing)
2016-10-08 12:49:00
如果允许中间有空号就用SEQUENCE 没做完的就放弃如果一定要连号 本质上就是那个号码会被排斥性保护大概就是看能不能拆成分区段的几个小锁来分散....重点在你的需求是"不重复"还是"一定要连号"不重复的话好办 一定要连号就比较麻烦
继续阅读
[SQL ] ODBC API 中使用 select * from TABLE
gary8520
[情报] 大型数据库效能调校关键报告
pcdou
Fw: [征人]API/DATABASE工程师 外派香港基金公司
jiarjia
[已解决 ] google cloud sql 储存空间问题?
pcion
Re: [情报] Tableau v10入门影片
hivenson
[情报] Tableau v10入门影片
horace327
[情报]实战探讨 SQL Server 数据库的备份与还原
rockchangnew
[SQL ] 第一次登入无法给权限的问题
lovecmgirls
[SQL ] 想询问关于SQLite时间排序的问题
kioskyline
[SQL ] 语法求教,多字段值如何有条件变成多笔row
jonce007
Links
booklink
Contact Us: admin [ a t ] ucptt.com