上午,我正在研究SVG,突然,头儿过来说,你的数据生产工具有问题,很多地点查不出来。
我对着代码,调试,比对从数据库中查询的结果,与写到文件的结果,最终发现,问题出在从数据库得到的结果的排序上。
我想要的结果是,从数据库中查询的结果,是按地点的py拍好序的。这样我就可以做第一步处理:按py也就是字母顺序,拆分文件。因为我的DiBiao对象是实现了Comparable接口的,可以调用Collections的sort方法,对这个一个存放DiBiao的ArrayList进行排序。接着就可以实现按第一个字节拆分文件。
但是,我是从两个表中查询的结果集,分别得到两个ArrayList。再把两个ArrayList放在一个ArrayList,这样,最终的结果,变成不是按py排序了。
问题就在排序。怎么样排序效率更好呢?是手动的对两个ArrayList排序合并成一个ArrayList,还是用Mysql的临时表。把两个表的查询结果,放在一个一个临时表中,再从这个临时表中查询,然后按py排序?
其实,最简单的办法是,使用union关键字查询两个表,按py排序,得到一个结果集。
我对着代码,调试,比对从数据库中查询的结果,与写到文件的结果,最终发现,问题出在从数据库得到的结果的排序上。
我想要的结果是,从数据库中查询的结果,是按地点的py拍好序的。这样我就可以做第一步处理:按py也就是字母顺序,拆分文件。因为我的DiBiao对象是实现了Comparable接口的,可以调用Collections的sort方法,对这个一个存放DiBiao的ArrayList进行排序。接着就可以实现按第一个字节拆分文件。
但是,我是从两个表中查询的结果集,分别得到两个ArrayList。再把两个ArrayList放在一个ArrayList,这样,最终的结果,变成不是按py排序了。
问题就在排序。怎么样排序效率更好呢?是手动的对两个ArrayList排序合并成一个ArrayList,还是用Mysql的临时表。把两个表的查询结果,放在一个一个临时表中,再从这个临时表中查询,然后按py排序?
其实,最简单的办法是,使用union关键字查询两个表,按py排序,得到一个结果集。