mysql列宽设置,mysql – 从.csv文件确定最佳列宽
我想將.CSV文件導入MySQL表.我想根據CSV文件中包含的實際數據確定要使用的最佳列寬.是否有任何腳本或實用程序來完成此任務?
解決方法:
如果可能,最好避免嘗試猜測適當的列長度 – 如果您可以獲取CSV的來源以更詳細地指定預期的格式(列X將包含不超過Y個字符),那么嘗試一下.
我建議最初使用長可變長度類型 – 這可能比更多約束類型效率更低但是如果某些字段比預期更大,則會確保您不會在以后的導入中出錯(或者更糟糕的是,由于mysql默默地截斷某些字段而無法丟失數據).在這種情況下,MSSQL文本字段需要是nvarchar(max)或varchar(max),除非它們需要成為索引的一部分,在這種情況下它們需要更多約束(沒有索引可以超過900) MSSQL下的數據字節).除非你能從源頭獲得更多數據格式,這是最安全的方式,當然你可以使用一些猜測(例如,包含國家保險號的字段不應超過11個字符,但是小心,因為字段可能被錯誤地命名為nad /或重載以存儲除了其名稱之外的其他內容.
如果你真的別無選擇,只能猜測并且使用較大的類型對你來說效率太低,那么為了幫助guestimating過程將你所擁有的文件導入到一個表中,其中所有字段都是最大長度可變文本類型,然后執行一些粗魯的分析例如SELECT MAX(LEN(< field1>)),MAX(LEN(< field2>))FROM< table>得到基于猜測的指示,對于非字符串字段,您可以使用更復雜的模式匹配來確定預期范圍(即字段X始終是ISO格式的數據,字段Y是介于-500和45,123之間的數字,以及小數點后兩位,等等.
關于“最優”:雖然使用較大固定長度的較大可變長度類型可能效率較低,但效率和最佳效果并不一定相同:如果您遇到錯誤或丟失數據,那么效率會很低意外地將類型設置得過于嚴格.
標簽:mysql,import,datatypes
來源: https://codeday.me/bug/20190806/1595095.html
總結
以上是生活随笔為你收集整理的mysql列宽设置,mysql – 从.csv文件确定最佳列宽的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5.7.11 my.ini,
- 下一篇: matlab1信号的单边z变换:,实验二