久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

mysql - 表的主鍵都是varchar(64),有什么不好?

瀏覽:98日期:2022-06-20 10:49:57

問題描述

見識到一個java項目,mysql數據庫,所有表的主鍵都是varchar(64)

問題解答

回答1:

varchar相對于int來說占用磁盤空間多,磁盤io也會多,然后內存帶寬也會多。這點上尤其在innodb更為明顯,innodb表的Secondary index的 leaf page中都要保存primary key的值,主鍵如果是varchar,會導致secondary index的體積會比較大。而且varchar主鍵在比較上也會慢一些,插入時容易發送數據的非順序插入,導致碎片,index tree效率比int低

回答2:

這是偷懶的表現!

回答3:

很浪費,且不專業的表現。

如果是char()類型,如值給的是5。那么不管該字段內是否有值,就算null也將占用5×當前數據庫編碼字節。varchar()則會先用一個字節記錄該類型最大范圍,如不傳值也就記錄首字節而已,傳至則存儲值最大范圍內的內容。

其余的字段其每條記錄占用硬盤體積另說。

回答4:

樓上說的都很對可能他記錄的內容是UUID 很多jsp程序設計庫的時候都這樣,不知道為什么

主站蜘蛛池模板: 中牟县| 龙海市| 泸溪县| 闽清县| 同心县| 兰西县| 淄博市| 信宜市| 辽阳县| 清涧县| 桂平市| 姜堰市| 中卫市| 怀远县| 东港市| 炉霍县| 漳浦县| 安仁县| 交城县| 株洲市| 中阳县| 定陶县| 尼勒克县| 廉江市| 商都县| 通许县| 沙坪坝区| 嘉义市| 多伦县| 汽车| 滦平县| 抚州市| 宜良县| 西畴县| 天峻县| 镇原县| 会泽县| 临海市| 沂水县| 正镶白旗| 昌图县|