日期:2014-05-17  浏览次数:20457 次

将CSV文件导入SQL数据表后数据行顺序错乱
.CSV文件中都是按时间数据排列的,但是导入到数据库后,时间顺序错乱了,这是什么原因,应该怎么导入?
数据内容如下(文本打开的):
2013/07/30 13:16:27.045,2168.6,2168.6,2168.4,2168.6,0,23577
2013/07/30 13:16:27.545,2168.4,2168.4,2168.0,2168.4,1,23577
2013/07/30 13:16:28.107,2168.4,2168.6,2168.0,2168.4,0,23577
2013/07/30 13:16:29.045,2168.4,2168.6,2168.0,2168.4,0,23577
2013/07/30 13:16:29.545,2168.0,2168.6,2168.0,2168.0,1,23578
2013/07/30 13:16:31.545,2168.0,2168.0,2167.6,2168.0,9,23578
2013/07/30 13:16:32.045,2168.0,2168.0,2167.6,2168.0,0,23578
2013/07/30 13:16:32.545,2167.6,2167.6,2167.0,2167.6,1,23579
2013/07/30 13:16:33.045,2167.6,2167.4,2167.0,2167.6,0,23579
2013/07/30 13:16:33.545,2167.0,2167.0,2166.6,2167.0,3,23579
……
数据库表没有设置主键列
求指教
sql ?CSV csv SQL数据导入

------解决方案--------------------
数据库基于集合,不管导进去,存在什么位置,查询时依赖于排序的话,都需要加ORDER BY。
原因:导入是一个并行导入过程,由它自己的导入算法把多行,分给不同的线程分别进行,就导致了“乱序”的现象。
解决方案:导入前,给表设置主键;或导入后,重建表,建立主键,把数据INSERT到新表中。
一般来说,表必有主键(对非聚集索引及查询都是有好处的)