Issue: Product flat table will not reindex – Row size too large

You can get this issue when you Enable Flat Catalog in Magento 2 and you have a lot of product attributes in your store

SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs, query was: CREATE TABLE IF NOT EXISTS `catalog_product_flat_1_tmp_indexer`

The only solution for this issue is to reduce the number of attributes you’re storing in the flat table:

to do so you need to make the following in the attributes configuration:

Stores -> Attributes -> Product

turning off the following attribute properties: Used in Product Listing and Used for Sorting in Product Listing

and then attempting a reindex when you’ve reduced the character count to below the limit.