How to reduce the time needed to export a view with 50k rows into a CSV file?
As an alternative to using Views (and Views data export), you may want to give it a try using the Forena module (disclosure: I'm a co-mainter). If you do, I doubt it'd take 20 mins to complete such export (my bet is somewhere around 30 to 60 secs, at max ...).

To perform such export using Forena, just create a "report" to select (and sort, etc) the 50K records you want to export using the Forena module. And specify what kind of hyperlinks you want to make available for performing such "export". These hyperlinks correspond to various supported "formats", such as: CSV, PDF, XLS, XML, DOC, HTML ... (the "report designer" selects what the allowed/enabled export formats for a report are).

To get an idea of how that would look like, visit the Customized Simple Table of States. Notice the links in it, such as "CSV" (upper right), which in this case would "export" the results in a CSV file.