它們有各種不同的大小,但是彼此之間的性能問題呢?我們如何在sql中比較它們?Bit vs Int vs Long(Sql的性能問題)
回答
它取決於數據庫供應商的I/O實現。
編輯(「32位」變爲「8位」)
許多數據塊從不使用任何小於一個8位字節寫入到磁盤。例如,postgres doco指出,其數據類型boolean
存儲在磁盤(不是1位)時實際上需要1個字節。所有postgres類型都使用整數個字節。
當字段被索引時,磁盤上的空間更爲重要。空間越少意味着每個I/O頁面的索引條目越多。 I/O越少,查詢速度越快 - 回想起I/O大約比內存中的工作慢1000倍。
你確定嗎(更小的類型升級到32位) - 你能提供任何證據嗎? – 2011-06-06 06:34:54
大多數DB可能永遠不會使用任何東西,除了塊大小寫入磁盤,現在MS SQL Server上的8KB,可在Oracle上設置。但是,當在存儲中佈置記錄時,至少某些DB對不同類型使用不同的存儲容量。例如,請參閱:http://support.microsoft.com/kb/827968。另外一些數據庫將根據值存儲不同數量的字節數,而不是類型,請參閱:http://www.sqlite.org/fileformat2.html#varint和http://asktom.oracle.com/pls/asktom/f?p = 100:11:0 :::: P11_QUESTION_ID:1856720300346322149 – 2011-06-06 06:49:38
@ Will-A - 我檢查了一下,我錯了32位 - 參見編輯 – Bohemian 2011-06-07 00:55:13
主要的性能問題可能源於數據的大小 - 字段越大,佔用的磁盤空間越多,因此數據中要讀取的I/O也越多。當你處理有數百萬條記錄的表時,這可能會非常重要。
- 1. long double vs long int
- 2. 主鍵類型:int vs long
- 3. 性能問題:t-sql vs clr
- 4. Sql Server int vs nvarchar性能比較?
- 5. 性能問題alloc vs copy
- 6. PHP vs python,php中的性能問題
- 7. UDF VS直接SQL性能
- 8. HTML性能問題屬性VS CSS
- 9. 性能問題 - iOS中的plist vs sqlite
- 10. Long vs Integer,long vs int,使用什麼和什麼時候使用?
- 11. SQL性能問題
- 12. 休眠性能問題:ScrollableResults vs firstResult/maxResult
- 13. Android NDK vs iOS - 性能問題
- 14. SQL Azure vs WCF性能
- 15. SQL JOIN vs IN性能?
- 16. SQL服務器加入VS子查詢的性能問題
- 17. SQL性能問題(沒有where子句VS其中column LIKE '%')
- 18. NHibernate HQL vs CriteriaAPI vs QueryOver vs Linq。性能
- 19. try..catch VS long if()
- 20. SQL SELECT速度int vs varchar
- 21. SQL加入Vs SQL子查詢(性能)?
- 22. UNION VS性能
- 23. WPF Usercontrol性能vs窗口性能問題
- 24. INT ** VS INT [ROWS] [COLS]
- 25. System.Convert.ToInt VS(INT)
- 26. GUID vs Int
- 27. UDF's vs Spark sql vs列表達式性能優化
- 28. 性能的LINQ VS SQL存儲過程
- 29. 蜂巢VS SQL Server的性能
- 30. Linux vs Windows性能
我相信性能將取決於實現(可能也取決於架構) – 2011-06-06 06:30:52
選擇類型的最佳方法是它存儲您需要存儲的內容並且不超過您需要的內容。如果您只會存儲數字1到10,請選擇將存儲1到10的最小整數,然後拋出檢查約束以保持1到10並將其稱爲好。 – 2011-06-06 06:52:02