I have a table with 10 million records in it. Is that considered a lot of records? Should I be worried about search times? If not, it will keep growing, so what is cons
"Large" is like "smart" - it's relative. 10 million rows is a good size, but whether the table is large depends on a number of factors:
sys.dm_db_partition_stats
)?Search times are not necessarily driven by size per se, but rather the effectiveness of your indexing strategy and the types of queries you're running for searches. If you have things like:
WHERE description LIKE '%foo%'
Then a normal index is not going to help you whatsoever, and you should start to get worried. You might consider Full-Text Search for cases like this.
10 million rows in a table with a single INT column (e.g. a Numbers table) is nothing. 10 million rows of Products with long descriptions, XML, Geography data, images etc. is quite another.
There is a reason that the max capacity specifications for SQL Server do not document an upper bound for number of rows in a table.