亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫主鍵相關問題有哪些

發布時間:2022-02-19 13:51:33 來源:億速云 閱讀:120 作者:iii 欄目:開發技術

這篇文章主要講解了“數據庫主鍵相關問題有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據庫主鍵相關問題有哪些”吧!

數據庫主鍵相關問題有哪些

1 是否每張表都應該有自增主鍵?

不一定自增主鍵可以加快行的插入速度,對于表的空間利用上有優勢,碎片化不明顯。

但是對一些內容,如根據uid的查詢非常頻繁的,而且比較集中的,那如果不用自增主鍵,而是使用uid+id作為復合主鍵,那查詢效率會上去,但插入和碎片化就會增加。但如果數據庫的存儲類型是ssd,那這個問題就不存在了。

所以,大部分情況來看,表有自增主鍵是正確的。

2 自增主鍵是否具有業務上的唯一性?

不一定

單表結構下,是的。

多表情況下,不一定,需要一定的策略,如設定不同的后綴,相同的間隔等。

3 自增主鍵是否可以牽扯到業務?

不建議這樣做。

如:表可以有自增主鍵,表內是具有唯一性的。在根據id查詢和更新的時候,可以簡化操作。但一般來說,和業務上存在關系,并且需要唯一性的時候,應該由業務自主去維護,如使用格式或算法,hash生成等方式。

4 業務維護的主鍵,怎樣在多表的情況下保持唯一性?

維護自增鍵區間段,服務器每次取其中的一段,樂觀鎖更新。這個需要額外的表或策略來維護這個字段。

基于算法A,固定時間前綴,如:yyyyMMddHHmmss+表數mod值+隨機數,通過位數的增加,來降低沖突的可能性。表字段存在唯一性約束(但有時候這個約束并不可靠)插入時若拋出重復字段值異常,則重新生成插入。

基于算法B,固定時間前綴,如:yyyyMMddHHmmss+固定位數碰撞自增值N+隨機數。不需要通過位數的增加來降低沖突的可能性。當插入拋出重復字段值異常時,N++,重新插入,直到不再沖突為止。此后固定使用N作為中綴,并且N緩存于服務器,重啟后繼續使用此中綴。若出現重復異常,再次N++執行相同操作即可。N的mod值這些就不用故意提起啦。

基于中綴管理,即上報中綴到中心服務器,可以理解有地方緩存了服務器的id關系,動態分配中綴。

其他方法,還有很多,也沒有用過,不贅述了。算法B,簡單,通信少,而且碰撞次數有限。算法A,存在無限次數的碰撞,盡管百分比非常非常低。但是在高并發的情況下,初始化的時候,算法B會比算法A來得更狂風暴雨一些。

區間段和中綴管理,都引入了中心節點的概念,依賴性比較強,但相對可靠,業界更為通用的實現方式。

感謝各位的閱讀,以上就是“數據庫主鍵相關問題有哪些”的內容了,經過本文的學習后,相信大家對數據庫主鍵相關問題有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海门市| 沁水县| 胶州市| 察哈| 通道| 奎屯市| 大理市| 海南省| 清新县| 凤城市| 清河县| 百色市| 南丰县| 禄丰县| 枣强县| 南充市| 灌南县| 南乐县| 名山县| 乌兰浩特市| 曲靖市| 山东| 沅陵县| 班玛县| 郯城县| 师宗县| 花莲县| 桓仁| 大化| 平凉市| 阳东县| 广饶县| 额尔古纳市| 德安县| 山东| 久治县| 郴州市| 当阳市| 克山县| 安顺市| 大港区|