When using Sitecore Fast Query, the result will not be cached. Sitecore has different layer of caching
So if I fast query an item with 100 children will all those come in to
memory without paging or caching?
If you use fast query, it will bypass all those levels of cache and hit the database directly because Sitecore Fast Query converts all the query conditions into SQL statements.
Fast query is faster on the first call than Sitecore query. But the next time, it will be slower than Sitecore query because it will need to hit the database again while Sitecore query will hit the cache.
If normal queries are fetching from indexes where these indexes are
stored and what indexing strategy they are following?
Indexes are different from cache. Sitecore has 2 types of index provider: Lucene and Solr. When you query the indexes, it will not query the database but instead the lucene file indexes which are stored on the server or the Solr cores from the solr server.
The index strategies differ for each database and requirements.
Master Indexes Strategy
We tend to use the
SyncMaster strategy because when content author performs changes on the Content Editor, the master index will get updated once the item is saved.
Web Indexes Strategy
For web indexes, normally, we tend to use
onPublishEndAsync. This stratgey will trigger the rebuild of indexes once a publish has completed.