Having a query string in the URL will not prevent your web site from
being properly indexed. However there are a few things that need to be
taken into consideration:
Such URLs are most commonly created after a search or specific request is performed through your website. That means that such a page actually does not exist on the server. Visitors can get to it but it won't be accessed by the search engine crawlers. The resolution is to create links for the specific pages that are likely to be visited and include them in your website navigation (menus for example) and in the site map.
Another important thing is that unique title tags are generated for each page. You should make sure that the title tag of the page varies depending on the parameters passed to the query string. Otherwise duplicate title tags will severely affect your search engine rankings.