Каждый JTable имеет TableModel, который содержит его данные.Реализация по умолчанию - DefaultTableModel, но вы можете реализовать свой собственный, в зависимости от фильтров, которые вы хотите использовать.Если вы снова запросите базу данных, вы можете установить данные в TableModel или установить новый экземпляр TableModel в JTable.
model = new DefaultTableModel();
table = new JTable(model);
...query the database, do either:
model.setDataVector(...);
table.setModel(new DefaultTableModel(...));
Вопрос, лучше ли запрашивать базу данных или делатьна клиентскую фильтрацию / сортировку нельзя ответить универсально.Это зависит от вашей среды и вашего варианта использования.Если вы делаете запрос из удаленной базы данных, может быть лучше выполнить клиентскую фильтрацию, поскольку передача 23 тыс. Строк данных займет много времени.Если ваш клиент довольно медленный компьютер, сортировка в базе данных может быть быстрее, чем в Java.Если такого рода ресурсы не являются проблемой, используйте любое решение, которое вам удобнее.Сортировка в Java немного сложнее, чем в SQL, с другой стороны, фильтрация более универсальна при реализации в Java.