REINDEX or REBUILD the indexes of a table after truncating it and then repopulating it? Is it necessary to REINDEX or REBUILD the indexes of a table after truncating it and then repopulating it?

I have a table with approximately 3.5 million rows in Oracle. Every week new data is recharged, truncating the table and then loading the data.

There are 2 or 3 indexes in the table. Should I delete and re-create the indexes or simply rebuild the ones I already have? , some indexed columns are encrypted with TDE.

Thank you
If your data is not sorted (by the indexed columns), the maintenance of indexes during the load of large amount of data may have some serious overhead because of the leaf node splits (not 90-10 splits), so: 


truncate the table
alter index ... unusable on all indexes
load data
alter index ... rebuild on all indexes


This will work if SKIP_UNUSABLE_INDEXES is set to true, which is the default value, but keep this in mind:


  If an index is used to enforce a UNIQUE constraint on a table, then
  allowing insert and update operations on the table might violate the
  constraint. Therefore, this setting does not disable error reporting
  for unusable indexes that are unique.


Alternatively, yes, you can drop the indexes before the load, and recreate them after.