For handling huge data, it is always preferred to chunk or paginate it, you may want to check this answer.
Should I use Laravel Eloquent or Query Builder for a better performance in my controller
Eloquent is easier for simple queries and reading for using the models as it uses Active record pattern while builder is faster for handling queries and complexities, you might want to check this answer
Should I return the data in a JSON file format, will this help speed things up?
json or collection, both are handled by Laravel and wont make much difference IMHO, however if you are considering saving some of the DB records in a buffer json file:
Lets consider these scenarios (while database is always huge),
- you have a minimal to none transactions on your database, keeping it indexed in Json files would speed up the process while keeping in mind the security measures.
- you have a minimal to medium transactions on your database, json wont be as much useful.
- you have enormous transactions, it is better to start considering mongodb or your preferred NoSQL DB.
Is there a way to add, delete, edit rows in the datatables without actually returning the view every time?
Adding or deleting or updating can be done in a single or mass way, in regards to your 3rd question, yes you can create a controller function and communicate through ajax.
the process is: create a controller function to query the database, create a route for such function, and query by ajax this function in the front end, you may want to check this tutorial.