上午,我正在研究SVG,突然,頭兒過來說,你的數據生產工具有問題,很多地點查不出來。
我對著代碼,調試,比對從數據庫中查詢的結果,與寫到文件的結果,最終發現,問題出在從數據庫得到的結果的排序上。
我想要的結果是,從數據庫中查詢的結果,是按地點的py拍好序的。這樣我就可以做第一步處理:按py也就是字母順序,拆分文件。因為我的DiBiao對象是實現了Comparable接口的,可以調用Collections的sort方法,對這個一個存放DiBiao的ArrayList進行排序。接著就可以實現按第一個字節拆分文件。
但是,我是從兩個表中查詢的結果集,分別得到兩個ArrayList。再把兩個ArrayList放在一個ArrayList,這樣,最終的結果,變成不是按py排序了。
問題就在排序。怎麼樣排序效率更好呢?是手動的對兩個ArrayList排序合並成一個ArrayList,還是用MySQL的臨時表。把兩個表的查詢結果,放在一個一個臨時表中,再從這個臨時表中查詢,然後按py排序?
其實,最簡單的辦法是,使用union關鍵字查詢兩個表,按py排序,得到一個結果集。