String searching is slow because it takes longer to compare strings than, say, integers. Depending on what you need to search, it may be your only alternative. However, if you have a finite number of things to be searched (say baseball teams), it's much faster to reference each 'team name' with an integer value, and do a select based on the integer id, rather than a search based on the team name.
But like I said, this is not always an alternative. If you're looking for instances of the phrase 'fire truck' in a TEXT column, you probably don't have too many options. However, if you have a finite number of things to seearch from, consider using selects where you can make a definitive equality assessment in the WHERE part of your query.
For small databases, you probably won't notice any huge drawbacks, or advantages, regardless of the method. But as tables grow, things will take longer.
You can get around some of the performance penalties of string searching by creating indexes on your columns that will be searched. All in all, designing data structures can be a big, complex process; and there are zillions of books out there which do a much better job of describing this than I do...
Have fun...