If you have large amounts of data, you should be using database indexes. This is how you add a database index to a DataObject in Silverstripe.
One of the best methods of loading the contents of a module into a component in Joomla is to have another editable content area. You could build this into the component but why bother when there is already a custom HTML module out there.