[英]Mysql TINYINT & VARCHAR performance
我在mysql db中建立了一個列,它在TINYINT
存儲值TINYINT
,如果我將其更改為10k VARCHAR
會更好呢?
例如 10000,20000,30000 ....或10k,20k,30k ...
如果您只是選擇該值,那就沒關系。
但是,如果您在where條件下使用它,那么使用int
可以提高性能。 例:
select * from your_table
where your_column > 1000
僅當int
且您無需將其轉換回數字時才有效。
通常,如果是數字,則將其存儲為數字。
更大的問題是-對您的項目有幫助嗎? 借助TINYINT
您可以對其執行數學運算。 您不能使用VARCHAR
,因為您的數字將是一個字符串。 當然,您可以將字符串處理成一個數字,但這會降低性能,並增加額外的代碼(這可能會使SQL或其他語言不必要地復雜化)。
如果您要將值設為數字-則務必將其設為整數 。 有一個非常聰明的人在string和int之間有所作為的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.