PERF: enable nullable integer for read_sql via parameter
Function `pandas.read_sql` read SQL query or database table into a DataFrame. However, for nullable integer columns, once there exists one row with null, pandas will infer this column as float, which may lead to subsequent issues (in our case, we use DataFrame for ETL and the integer converted to float, not suitable for our sink database table schema).
Using nullable integer is one of the solution we adopted, which may cause more memory usage. Therefore, I add default False parameter for `pandas.read_sql` to not enable it as default, once you want to enable it, just set it as True.
Hello @zhengfeiwang! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:







There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2021-03-05 03:26:58 UTC This pull request is stale because it has been open for thirty days with no activity. Please update or respond to this comment if you're still interested in working on this. @zhengfeiwang Can you implement this for all nullable dtypes(IntegerArray, BooleanArray, FloatingArray, and StringArray) as the parameter ```use_nullable_dtypes``` and resolve conflicts? > @zhengfeiwang Can you implement this for all nullable dtypes(IntegerArray, BooleanArray, FloatingArray, and StringArray) as the parameter `use_nullable_dtypes` and resolve conflicts?

OK, I will try to work on it and finish that ASAP This pull request is stale because it has been open for thirty days with no activity. Please update or respond to this comment if you're still interested in working on this. I will finish this perf ASAP, please hold this thread currently. > I will finish this perf ASAP, please hold this thread currently.

Thanks. @zhengfeiwang . will close to clear the queue. ping when ready to continue.