The ingestion of large amounts of data is an infamous data center operational problem. At the scale you mention (3GiB, 10 megarows) it's usually done with an import program of some kind that connects directly to the relational database management system (rdbms: MySQL or MariaDB), rather than going through a file upload process with a web app like WordPress / php / web server. Edit phpMyAdmin is also a php / web server app, and will present the same operational problems as WordPress.
Database client programs like MySQL Workbench or HeidiSQL can do it, if you can connect them to your database. Those programs (and many others) have csv import features.
Edit Here's a process you might follow.
- Back up your website.
- Create the table with your WordPress tables plugin.
- Upload a few dozen rows of CSV data into your tables plugin. That way you can see where it puts them.
- Download and install a database client program like MySQL Workbench or HeidiSQL on your personal machine, the one where your CSV files reside.
- Connect that program to the MySQL or MariaDB server software running on your droplet. You'll need the database username, password, and database name to do that (the stuff in wp-config.php). And, you may need to do some things to allow remote access. Digital Ocean has good documentation. Here's their explanation of allowing remote access.
- There's a list of database tables shown in your program. Find the name of the table where your plugin put those few hundred rows.
- Use the CSV import feature. Start with a small CSV, another few hundred rows. Experiment, and work out the moves needed to load those rows.
- You'll probably load a mess of junk rows into the table while you're experimenting. When you know how to do your loads, start over, beginning again with the plugin. Get rid of your junk table and start again with step 2.
- Upload your CSVs.
- Maybe, when you're done, for security's sake, revoke the remote database access you set up in step 5.
If you must use the web-server upload facilities built in to Ninja Tables, some other plugin, or phpmyadmin, you probably should split up your input CSV files into many smaller files. If you handle CSV files containing a maximum of 50K rows each, it will probably work. But that means you'll have to handle 200 CSV files, which will be a giant nuisance.
The plugin vendor's support staff may be able to help you get this done.