簡體   English   中英

處理mysql列中空值的最佳方法

[英]Best way to handle empty values in mysql columns

我正在將一個包含1000萬行和20列的大型CSV文件導入MySQL的表中。 很多值,否則INTs,BIGINTs,TIMESTAMPs或FLOATS都有空值。

例如:

mysql> SELECT ID,LinkedAccountId FROM billing_info WHERE LinkedAccountId = '' LIMIT 10;
+---------+-----------------+
| ID      | LinkedAccountId |
+---------+-----------------+
| 9323504 |                 |
| 9323505 |                 |
| 9323507 |                 |
| 9323509 |                 |
| 9323527 |                 |
+---------+-----------------+
5 rows in set (18.69 sec)

我應該總是將CHAR或VARCHAR分配給像上面那樣的空列嗎? 或者有更好的方法嗎?

如果很少行包含列並且大小稀疏,則可以使用1-1關系分隔這些列,例如具有ID和LinkedAccountID的列,然后將該表連接到該表以檢索值。 由於每個值將占用兩列(ID和某些值),如果例如少於10%的行包含某個列,則這可能是值得的。 如果缺少列之間存在協方差(如果缺少LinkedAccountID,另外2個列也總是丟失),那將特別有用,因為您可以將所有列分解到同一個表中。

在其他情況下,你可能最好只使用空值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM