Хранить данные в таблице по возрастанию идентификаторов
У меня есть программа, где я должен читать данные из файла Excel и сохранять их в базе данных. Я использую LinkedHashmap, чтобы прочитать каждую ячейку как строку и сохранить их. Мой файл Excel содержит данные:
ID Name Salary
43 paulina 1000
5 christine 2349000
54 laura 12587458
49 jim 45878
В моем коде я сделал поля для таблицы первой строкой файла Excel, а затем заполнил таблицу остальными данными, используя снова LinkedHashMap. Мой вопрос заключается в том, как на этом этапе я могу сохранить данные в таблице не так, как они есть в файле, а по возрастанию идентификаторов. Я ищу, что я могу сделать это с TreeMap, но как именно? Кто-нибудь может мне помочь?
2 ответа
Характерной особенностью СУБД (таких как MySQL, Oracle и т. Д.) Является то, что каждая строка данных стоит отдельно. Нет естественного порядка, в котором строки хранятся в СУБД.
То есть, когда вы получаете строки, используя SELECT
Заявление, порядок, в котором они будут представлены вам в вашем наборе результатов, формально непредсказуем. Если вы хотите, чтобы ваши строки были представлены в предсказуемом порядке, используйте ORDER BY
пункт в вашем SELECT
заявление.
Бывает, что некоторые технологии СУБД создают иллюзию, что строки хранятся в определенном порядке. Но они не дают никаких обещаний по этому поводу, и иллюзия может сломаться в любое время, если вы не используете ORDER BY
, Я научился этому нелегко, когда приложение начало работать со сбоями, когда таблица достигла определенного размера.
Чтобы заказать ваши строки до INSERT
поэтому их вставка в MySQL - пустая трата вашего времени. Сделайте ваше программное обеспечение для вставки действительно простым. Заказать их, когда вы их получите, тривиально просто - используйте ORDER BY
,
Если ваш вопрос заключается в том, как отсортировать базу данных, то Локи прав: это неважно. Если ваш вопрос заключается в том, как заказать его для программы... Вы можете использовать TreeMap, это быстрая структура данных. Вам нужно либо заставить объекты, которые входят в структуру, реализовать Comparable, либо вам нужно построить TreeMap с помощью Comparator. Прочтите официальное руководство по Java на этих двух принципах - можно либо использовать, либо просто немного другой стиль программирования.