A table scan is a database operation where the system reads every row in a table to find the data that matches a query, which can be inefficient for large datasets. It is often contrasted with index scans, which are faster because they use an index to locate data directly without examining every row.