Import from the UI is good for relatively small amount of data (up to 1000 entities), but if you need to import thousands
or millions of entities the command line is your best choice. The OroPlatform provides the CLI command oro:import:csv
that allows to import records from the specified CSV file.

$ php app/console oro:import:csv --help
Usage:
oro:import:csv [--validation-processor="..."][--processor="..."] file
Arguments:
file File name, to import CSV data from
Options:
--validation-processor Name of the processor for the entity data validation contained in the CSV
--processor Name of the processor for the entity data contained in the CSV

The default environment for CLI is dev. In dev environment the application stores lots of data generally not required for real-life usage.
Therefore, it is recommended to run import in prod environment so it would finish much faster. To do so you should add
the --env=prod option to your import command:

During regular import operation, the validation process is performed twice: first, during the validation itself and then
before saving imported entities (invalid entities will not be saved to the DB). Initial validation can be skipped and
import can be performed without it. To do so, start the import command in no interaction mode with the --no-interaction option:

Remember that disabling listeners actually disables a part of backend functionality, so before using it
make sure this part is not required. E.g. if the oro_search.index_listener listener is disabled then
imported entities will not be found by the search engine (however, this may be fixed by manual search reindex
using the oro:search:reindex command).

The OroPlatform provides ConfigurableAddOrReplaceStrategy
to be used as the default one. This strategy automatically handles field types, relations etc.
However, all this functionality significantly slows down the import process and might perform
operations and requests that are not required for some specific cases.

To solve this issue, a developer can implement a custom strategy to perform required actions only.
The following example shows services that should be created to add a new import strategy: